@Test public void testDefaultIoSchedulerIsInitializedLazily() { // unsafe default Scheduler Callable should not be evaluated try { RxJavaCommonPlugins.setInitIoSchedulerHandler(initReplaceWithImmediate); RxJavaCommonPlugins.initIoScheduler(unsafeDefault); } finally { RxJavaCommonPlugins.reset(); } // make sure the reset worked assertNotSame(ImmediateThinScheduler.INSTANCE, Schedulers.io()); }
/** * 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 overrideInitIoScheduler() { final Scheduler s = Schedulers.io(); // make sure the Schedulers is initialized; Callable<Scheduler> c = new Callable<Scheduler>() { @Override public Scheduler call() throws Exception { return s; } }; try { RxJavaCommonPlugins.setInitIoSchedulerHandler(initReplaceWithImmediate); assertSame(ImmediateThinScheduler.INSTANCE, RxJavaCommonPlugins.initIoScheduler(c)); } finally { RxJavaCommonPlugins.reset(); } // make sure the reset worked assertSame(s, RxJavaCommonPlugins.initIoScheduler(c)); }
RxJavaCommonPlugins.setInitSingleSchedulerHandler(callable2scheduler); RxJavaCommonPlugins.setInitNewThreadSchedulerHandler(callable2scheduler); RxJavaCommonPlugins.setInitIoSchedulerHandler(callable2scheduler); } finally { RxJavaCommonPlugins.reset();