@Test public void testDefaultSingleSchedulerIsInitializedLazily() { // unsafe default Scheduler Callable should not be evaluated try { RxJavaCommonPlugins.setInitSingleSchedulerHandler(initReplaceWithImmediate); RxJavaCommonPlugins.initSingleScheduler(unsafeDefault); } finally { RxJavaCommonPlugins.reset(); } // make sure the reset worked assertNotSame(ImmediateThinScheduler.INSTANCE, Schedulers.single()); }
/** * Removes all handlers and resets to default behavior. */ public static void reset() { setErrorHandler(null); setScheduleHandler(null); setComputationSchedulerHandler(null); setInitComputationSchedulerHandler(null); setIoSchedulerHandler(null); setInitIoSchedulerHandler(null); setSingleSchedulerHandler(null); setInitSingleSchedulerHandler(null); setNewThreadSchedulerHandler(null); setInitNewThreadSchedulerHandler(null); setFailOnNonBlockingScheduler(false); setOnBeforeBlocking(null); }
/** * Removes all handlers and resets to default behavior. */ public static void reset() { setErrorHandler(null); setScheduleHandler(null); setComputationSchedulerHandler(null); setInitComputationSchedulerHandler(null); setIoSchedulerHandler(null); setInitIoSchedulerHandler(null); setSingleSchedulerHandler(null); setInitSingleSchedulerHandler(null); setNewThreadSchedulerHandler(null); setInitNewThreadSchedulerHandler(null); setFailOnNonBlockingScheduler(false); setOnBeforeBlocking(null); }
/** * Removes all handlers and resets to default behavior. */ public static void reset() { setErrorHandler(null); setScheduleHandler(null); setComputationSchedulerHandler(null); setInitComputationSchedulerHandler(null); setIoSchedulerHandler(null); setInitIoSchedulerHandler(null); setSingleSchedulerHandler(null); setInitSingleSchedulerHandler(null); setNewThreadSchedulerHandler(null); setInitNewThreadSchedulerHandler(null); setFailOnNonBlockingScheduler(false); setOnBeforeBlocking(null); }
@Test public void overrideInitSingleScheduler() { final Scheduler s = Schedulers.single(); // make sure the Schedulers is initialized Callable<Scheduler> c = new Callable<Scheduler>() { @Override public Scheduler call() throws Exception { return s; } }; try { RxJavaCommonPlugins.setInitSingleSchedulerHandler(initReplaceWithImmediate); assertSame(ImmediateThinScheduler.INSTANCE, RxJavaCommonPlugins.initSingleScheduler(c)); } finally { RxJavaCommonPlugins.reset(); } // make sure the reset worked assertSame(s, RxJavaCommonPlugins.initSingleScheduler(c)); }
RxJavaCommonPlugins.setScheduleHandler(runnable2runnable); RxJavaCommonPlugins.setSingleSchedulerHandler(scheduler2scheduler); RxJavaCommonPlugins.setInitSingleSchedulerHandler(callable2scheduler); RxJavaCommonPlugins.setInitNewThreadSchedulerHandler(callable2scheduler); RxJavaCommonPlugins.setInitIoSchedulerHandler(callable2scheduler);