@Override public void accept(Throwable v) throws Exception { observer.onError(v); } }
@Override public void onError(Throwable t) { buffer = null; downstream.onError(t); }
void error(Throwable e) { done = true; upstream.dispose(); downstream.onError(e); }
@Override public void onError(Throwable t) { if (done) { RxJavaPlugins.onError(t); return; } done = true; downstream.onError(t); }
@Override public void onError(Throwable t) { downstream.onError(t); runFinally(); }
@Override public void onError(Throwable t) { DisposableHelper.dispose(debouncer); downstream.onError(t); }
@Override public void onError(Throwable t) { if (done) { RxJavaPlugins.onError(t); return; } done = true; upstream.dispose(); downstream.onError(t); }
@Override public void onError(Throwable t) { if (done) { RxJavaPlugins.onError(t); return; } done = true; downstream.onError(t); }
@Override public void onError(Throwable t) { synchronized (this) { buffer = null; } downstream.onError(t); w.dispose(); }
@Override public void onError(Throwable e) { if (done) { RxJavaPlugins.onError(e); } else { done = true; collection.clear(); downstream.onError(e); } }
@Override public void onError(Throwable e) { o.onError(e); cdl.countDown(); }
@Override public void onTimeout(long idx) { if (compareAndSet(idx, Long.MAX_VALUE)) { DisposableHelper.dispose(upstream); downstream.onError(new TimeoutException()); } }
@Override public void onError(Throwable t) { if (done) { RxJavaPlugins.onError(t); } else { done = true; downstream.onError(t); worker.dispose(); } }
@Override public void onError(Throwable t) { error = t; done = true; if (enter()) { drainLoop(); } downstream.onError(t); disposeTimer(); }
@Test public void testCast() { Observable<?> source = Observable.just(1, 2); Observable<Integer> observable = source.cast(Integer.class); Observer<Integer> observer = TestHelper.mockObserver(); observable.subscribe(observer); verify(observer, times(1)).onNext(1); verify(observer, times(1)).onNext(1); verify(observer, never()).onError( any(Throwable.class)); verify(observer, times(1)).onComplete(); }
@Test public void testCombineLatest3TypesB() { Function3<String, Integer, int[], String> combineLatestFunction = getConcatStringIntegerIntArrayCombineLatestFunction(); /* define an Observer to receive aggregated events */ Observer<String> observer = TestHelper.mockObserver(); Observable<String> w = Observable.combineLatest(Observable.just("one"), Observable.just(2), Observable.just(new int[] { 4, 5, 6 }, new int[] { 7, 8 }), combineLatestFunction); w.subscribe(observer); verify(observer, never()).onError(any(Throwable.class)); verify(observer, times(1)).onComplete(); verify(observer, times(1)).onNext("one2[4, 5, 6]"); verify(observer, times(1)).onNext("one2[7, 8]"); }
@Test public void testIsEmptyWithTwoItemsObservable() { Observable<Integer> w = Observable.just(1, 2); Observable<Boolean> observable = w.isEmpty().toObservable(); Observer<Boolean> observer = TestHelper.mockObserver(); observable.subscribe(observer); verify(observer, never()).onNext(true); verify(observer, times(1)).onNext(false); verify(observer, never()).onError(any(Throwable.class)); verify(observer, times(1)).onComplete(); }
@Test public void testIsEmptyWithOneItemObservable() { Observable<Integer> w = Observable.just(1); Observable<Boolean> observable = w.isEmpty().toObservable(); Observer<Boolean> observer = TestHelper.mockObserver(); observable.subscribe(observer); verify(observer, never()).onNext(true); verify(observer, times(1)).onNext(false); verify(observer, never()).onError(any(Throwable.class)); verify(observer, times(1)).onComplete(); }
@Test public void testSkipAndCountGaplessBuffers() { Observable<String> source = Observable.just("one", "two", "three", "four", "five"); Observable<List<String>> buffered = source.buffer(3, 3); buffered.subscribe(observer); InOrder inOrder = Mockito.inOrder(observer); inOrder.verify(observer, Mockito.times(1)).onNext(list("one", "two", "three")); inOrder.verify(observer, Mockito.times(1)).onNext(list("four", "five")); inOrder.verify(observer, Mockito.never()).onNext(Mockito.<String>anyList()); inOrder.verify(observer, Mockito.never()).onError(Mockito.any(Throwable.class)); inOrder.verify(observer, Mockito.times(1)).onComplete(); }
@Test(timeout = 2000) public void bufferWithSizeSkipTake1() { Observable<Integer> source = Observable.just(1).repeat(); Observable<List<Integer>> result = source.buffer(2, 3).take(1); Observer<Object> o = TestHelper.mockObserver(); result.subscribe(o); verify(o).onNext(Arrays.asList(1, 1)); verify(o).onComplete(); verify(o, never()).onError(any(Throwable.class)); }