diff --git a/src/test/java/rx/plugins/RxJavaPluginsTest.java b/src/test/java/rx/plugins/RxJavaPluginsTest.java index 64a1ba1d1a..5e48fbf24a 100644 --- a/src/test/java/rx/plugins/RxJavaPluginsTest.java +++ b/src/test/java/rx/plugins/RxJavaPluginsTest.java @@ -23,7 +23,9 @@ import org.junit.*; +import rx.Completable; import rx.Observable; +import rx.Single; import rx.Subscriber; import rx.exceptions.OnErrorThrowable; import rx.functions.Func1; @@ -286,4 +288,56 @@ public void testShortPluginDiscoveryMissing() { RxJavaPlugins.getPluginImplementationViaProperty(Map.class, props); } + + @Test + public void testOnErrorWhenUsingCompletable() { + RxJavaErrorHandlerTestImpl errorHandler = new RxJavaErrorHandlerTestImpl(); + RxJavaPlugins.getInstance().registerErrorHandler(errorHandler); + + RuntimeException re = new RuntimeException("test onError"); + Completable.error(re).subscribe(new Subscriber() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + + } + + @Override + public void onNext(Object o) { + + } + }); + assertEquals(re, errorHandler.e); + assertEquals(1, errorHandler.count); + } + + @Test + public void testOnErrorWhenUsingSingle() { + RxJavaErrorHandlerTestImpl errorHandler = new RxJavaErrorHandlerTestImpl(); + RxJavaPlugins.getInstance().registerErrorHandler(errorHandler); + + RuntimeException re = new RuntimeException("test onError"); + Single.error(re).subscribe(new Subscriber() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + + } + + @Override + public void onNext(Object o) { + + } + }); + assertEquals(re, errorHandler.e); + assertEquals(1, errorHandler.count); + } }