@Override public Observable<T> fuseToObservable() { return RxJavaObservablePlugins.onAssembly(new ObservableElementAt<T>(source, index, defaultValue, true)); }
/** * Removes all handlers and resets to default behavior. */ public static void reset() { setOnObservableAssembly(null); setOnObservableSubscribe(null); setOnSingleAssembly(null); setOnSingleSubscribe(null); setOnCompletableAssembly(null); setOnCompletableSubscribe(null); setOnConnectableObservableAssembly(null); setOnMaybeAssembly(null); setOnMaybeSubscribe(null); }
public void clearIsPassthrough() { try { RxJavaObservablePlugins.reset(); assertNull(RxJavaObservablePlugins.onAssembly((Observable)null)); assertNull(RxJavaObservablePlugins.onAssembly((ConnectableObservable)null)); assertSame(oos, RxJavaObservablePlugins.onAssembly(oos)); assertNull(RxJavaObservablePlugins.onAssembly((Single)null)); assertSame(sos, RxJavaObservablePlugins.onAssembly(sos)); assertNull(RxJavaObservablePlugins.onAssembly((Completable)null)); assertSame(cos, RxJavaObservablePlugins.onAssembly(cos)); assertNull(RxJavaObservablePlugins.onAssembly((Maybe)null)); assertSame(myb, RxJavaObservablePlugins.onAssembly(myb)); assertNull(RxJavaObservablePlugins.onSubscribe(Observable.never(), null)); assertSame(all, RxJavaObservablePlugins.onSubscribe(Observable.never(), all)); assertNull(RxJavaObservablePlugins.onSubscribe(Single.just(1), null)); assertSame(all, RxJavaObservablePlugins.onSubscribe(Single.just(1), all));
@SchedulerSupport(SchedulerSupport.NONE) @Override public final void subscribe(MaybeObserver<? super T> observer) { ObjectHelper.requireNonNull(observer, "observer is null"); observer = RxJavaObservablePlugins.onSubscribe(this, observer); ObjectHelper.requireNonNull(observer, "observer returned by the RxJavaObservablePlugins hook is null"); try { subscribeActual(observer); } catch (NullPointerException ex) { throw ex; } catch (Throwable ex) { Exceptions.throwIfFatal(ex); NullPointerException npe = new NullPointerException("subscribeActual failed"); npe.initCause(ex); throw npe; } }
@Before public void setUp() throws Exception { onCreate = spy(new Function<Completable, Completable>() { @Override public Completable apply(Completable t) { return t; } }); RxJavaObservablePlugins.setOnCompletableAssembly(onCreate); onStart = spy(new BiFunction<Completable, CompletableObserver, CompletableObserver>() { @Override public CompletableObserver apply(Completable t1, CompletableObserver t2) { return t2; } }); RxJavaObservablePlugins.setOnCompletableSubscribe(onStart); }
@SuppressWarnings("rawtypes") @Test public void pluginNull() { RxJavaObservablePlugins.setOnObservableSubscribe(new BiFunction<Observable, Observer, Observer>() { @Override public Observer apply(Observable a, Observer b) throws Exception { return null; } }); try { try { Observable.just(1).test(); fail("Should have thrown"); } catch (NullPointerException ex) { assertEquals("Plugin returned null Observer", ex.getMessage()); } } finally { RxJavaObservablePlugins.reset(); } }
@SuppressWarnings("rawtypes") @Test public void singleCreate() { try { RxJavaObservablePlugins.setOnSingleAssembly(new Function<Single, Single>() { @Override public Single apply(Single t) { return new SingleJust<Integer>(10); } }); Single.just(1) .test() .assertValue(10) .assertNoErrors() .assertComplete(); } finally { RxJavaObservablePlugins.reset(); } // make sure the reset worked Single.just(1) .test() .assertValue(1) .assertNoErrors() .assertComplete(); }
@Test public void completableCreate() { try { RxJavaObservablePlugins.setOnCompletableAssembly(new Function<Completable, Completable>() { @Override public Completable apply(Completable t) { return new CompletableError(new TestException()); } }); Completable.complete() .test() .assertNoValues() .assertNotComplete() .assertError(TestException.class); } finally { RxJavaObservablePlugins.reset(); } // make sure the reset worked Completable.complete() .test() .assertNoValues() .assertNoErrors() .assertComplete(); }
@SuppressWarnings("rawtypes") @Test public void observableCreate() { try { RxJavaObservablePlugins.setOnObservableAssembly(new Function<Observable, Observable>() { @Override public Observable apply(Observable t) { return new ObservableRange(1, 2); } }); Observable.range(10, 3) .test() .assertValues(1, 2) .assertNoErrors() .assertComplete(); } finally { RxJavaObservablePlugins.reset(); } // make sure the reset worked Observable.range(10, 3) .test() .assertValues(10, 11, 12) .assertNoErrors() .assertComplete(); }
@SuppressWarnings("rawtypes") @Test public void maybeCreate() { try { RxJavaObservablePlugins.setOnMaybeAssembly(new Function<Maybe, Maybe>() { @Override public Maybe apply(Maybe t) { return new MaybeError(new TestException()); } }); Maybe.empty() .test() .assertNoValues() .assertNotComplete() .assertError(TestException.class); } finally { RxJavaObservablePlugins.reset(); } // make sure the reset worked Maybe.empty() .test() .assertNoValues() .assertNoErrors() .assertComplete(); }
@Test public void completableStart() { try { RxJavaObservablePlugins.setOnCompletableSubscribe(new BiFunction<Completable, CompletableObserver, CompletableObserver>() { @Override public CompletableObserver apply(Completable o, final CompletableObserver t) { .assertError(TestException.class); } finally { RxJavaObservablePlugins.reset();
public void overrideConnectableObservable() { try { RxJavaObservablePlugins.setOnConnectableObservableAssembly(new Function<ConnectableObservable, ConnectableObservable>() { @Override public ConnectableObservable apply(ConnectableObservable co) throws Exception { RxJavaObservablePlugins.reset();
public void maybeStart() { try { RxJavaObservablePlugins.setOnMaybeSubscribe(new BiFunction<Maybe, MaybeObserver, MaybeObserver>() { @Override public MaybeObserver apply(Maybe o, final MaybeObserver t) { .assertError(TestException.class); } finally { RxJavaObservablePlugins.reset();
@SchedulerSupport(SchedulerSupport.NONE) @Override public final void subscribe(SingleObserver<? super T> subscriber) { ObjectHelper.requireNonNull(subscriber, "subscriber is null"); subscriber = RxJavaObservablePlugins.onSubscribe(this, subscriber); ObjectHelper.requireNonNull(subscriber, "subscriber returned by the RxJavaObservablePlugins hook is null"); try { subscribeActual(subscriber); } catch (NullPointerException ex) { throw ex; } catch (Throwable ex) { Exceptions.throwIfFatal(ex); NullPointerException npe = new NullPointerException("subscribeActual failed"); npe.initCause(ex); throw npe; } }
public void observableStart() { try { RxJavaObservablePlugins.setOnObservableSubscribe(new BiFunction<Observable, Observer, Observer>() { @Override public Observer apply(Observable o, final Observer t) { .assertComplete(); } finally { RxJavaObservablePlugins.reset();
/** * Removes all handlers and resets to default behavior. */ public static void reset() { setOnObservableAssembly(null); setOnObservableSubscribe(null); setOnSingleAssembly(null); setOnSingleSubscribe(null); setOnCompletableAssembly(null); setOnCompletableSubscribe(null); setOnConnectableObservableAssembly(null); setOnMaybeAssembly(null); setOnMaybeSubscribe(null); }
@Override public Maybe<Boolean> fuseToMaybe() { return RxJavaObservablePlugins.onAssembly(new MaybeIsEmpty<T>(source)); }
@SchedulerSupport(SchedulerSupport.NONE) @Override public final void subscribe(MaybeObserver<? super T> observer) { ObjectHelper.requireNonNull(observer, "observer is null"); observer = RxJavaObservablePlugins.onSubscribe(this, observer); ObjectHelper.requireNonNull(observer, "observer returned by the RxJavaObservablePlugins hook is null"); try { subscribeActual(observer); } catch (NullPointerException ex) { throw ex; } catch (Throwable ex) { Exceptions.throwIfFatal(ex); NullPointerException npe = new NullPointerException("subscribeActual failed"); npe.initCause(ex); throw npe; } }
RxJavaObservablePlugins.setOnConnectableObservableAssembly(connectableObservable2ConnectableObservable); RxJavaObservablePlugins.setOnMaybeAssembly(maybe2maybe); RxJavaObservablePlugins.setOnMaybeSubscribe(maybe2observer); RxJavaObservablePlugins.setOnObservableAssembly(observable2observable); RxJavaObservablePlugins.setOnObservableSubscribe(observable2observer); RxJavaObservablePlugins.setOnSingleAssembly(single2single); RxJavaObservablePlugins.setOnSingleSubscribe(single2observer); RxJavaObservablePlugins.setOnCompletableSubscribe(completableObserver2completableObserver); RxJavaObservablePlugins.setOnCompletableAssembly(completable2completable); } finally { RxJavaObservablePlugins.reset();
@Override public Observable<U> fuseToObservable() { return RxJavaObservablePlugins.onAssembly(new ObservableToList<T, U>(source, collectionSupplier)); }