Skip to content

Commit

Permalink
Merge pull request #2574 from jnpr-jalandip/1.x
Browse files Browse the repository at this point in the history
SizeEviction test needs to return false
  • Loading branch information
akarnokd committed Jan 31, 2015
2 parents cefc28d + 733cbc0 commit ca02838
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/main/java/rx/subjects/ReplaySubject.java
Original file line number Diff line number Diff line change
Expand Up @@ -838,7 +838,7 @@ public void evict(NodeList<Object> t1) {

@Override
public boolean test(Object value, long now) {
return true; // size gets never stale
return false; // size gets never stale
}

@Override
Expand Down
52 changes: 52 additions & 0 deletions src/test/java/rx/internal/operators/OperatorReplayTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,58 @@ public void testBufferedReplay() {
}
}

@Test
public void testBufferedWindowReplay() {
PublishSubject<Integer> source = PublishSubject.create();
TestScheduler scheduler = new TestScheduler();
ConnectableObservable<Integer> co = source.replay(3, 100, TimeUnit.MILLISECONDS, scheduler);
co.connect();

{
@SuppressWarnings("unchecked")
Observer<Object> observer1 = mock(Observer.class);
InOrder inOrder = inOrder(observer1);

co.subscribe(observer1);

source.onNext(1);
scheduler.advanceTimeBy(10, TimeUnit.MILLISECONDS);
source.onNext(2);
scheduler.advanceTimeBy(10, TimeUnit.MILLISECONDS);
source.onNext(3);
scheduler.advanceTimeBy(10, TimeUnit.MILLISECONDS);

inOrder.verify(observer1, times(1)).onNext(1);
inOrder.verify(observer1, times(1)).onNext(2);
inOrder.verify(observer1, times(1)).onNext(3);

source.onNext(4);
source.onNext(5);
scheduler.advanceTimeBy(90, TimeUnit.MILLISECONDS);

inOrder.verify(observer1, times(1)).onNext(4);

inOrder.verify(observer1, times(1)).onNext(5);

inOrder.verifyNoMoreInteractions();
verify(observer1, never()).onError(any(Throwable.class));

}

{
@SuppressWarnings("unchecked")
Observer<Object> observer1 = mock(Observer.class);
InOrder inOrder = inOrder(observer1);

co.subscribe(observer1);

inOrder.verify(observer1, times(1)).onNext(4);
inOrder.verify(observer1, times(1)).onNext(5);
inOrder.verifyNoMoreInteractions();
verify(observer1, never()).onError(any(Throwable.class));
}
}

@Test
public void testWindowedReplay() {
TestScheduler scheduler = new TestScheduler();
Expand Down

0 comments on commit ca02838

Please sign in to comment.