@Test public void testHidingError() { PublishSubject<Integer> src = PublishSubject.create(); Observable<Integer> dst = src.hide(); assertFalse(dst instanceof PublishSubject); Observer<Object> o = TestHelper.mockObserver(); dst.subscribe(o); src.onError(new TestException()); verify(o, never()).onNext(any()); verify(o, never()).onComplete(); verify(o).onError(any(TestException.class)); }
@Test public void testHiding() { PublishSubject<Integer> src = PublishSubject.create(); Observable<Integer> dst = src.hide(); assertFalse(dst instanceof PublishSubject); Observer<Object> o = TestHelper.mockObserver(); dst.subscribe(o); src.onNext(1); src.onComplete(); verify(o).onNext(1); verify(o).onComplete(); verify(o, never()).onError(any(Throwable.class)); }
@Test public void disposed() { TestHelper.checkDisposed(PublishSubject.create().hide()); } }
@Before public void setup() { // Simulate an actual lifecycle (hot Observable that does not end) observable = PublishSubject.create().hide(); }
@Before public void setup() { observable = PublishSubject.create().hide(); }
@Before public void setup() { observable = PublishSubject.create().hide(); }
@Before public void setup() { observable = PublishSubject.create().hide(); }
@Before public void setup() { // Simulate an actual lifecycle (hot Observable that does not end) observable = PublishSubject.create().hide(); }
@Before public void setup() { // Simulate an actual lifecycle (hot Observable that does not end) observable = PublishSubject.create().hide(); }
@Before public void setup() { observable = PublishSubject.create().hide(); }
@Before public void setup() { observable = PublishSubject.create().hide(); }
@Before public void setup() { observable = PublishSubject.create().hide(); }
@Test public void testLeakFree() { NaviEmitter activity = NaviEmitter.createActivityEmitter(); LifecycleProvider<ActivityEvent> provider = NaviLifecycle.createActivityLifecycleProvider(activity); WeakReference<NaviEmitter> activityRef = new WeakReference<>(activity); WeakReference<LifecycleProvider<ActivityEvent>> providerRef = new WeakReference<>(provider); Observable<Object> observable = PublishSubject.create().hide(); TestObserver<Object> testObserver = observable.compose(provider.bindUntilEvent(ActivityEvent.STOP)).test(); activity.onCreate(null); activity.onStart(); activity.onResume(); activity.onPause(); activity.onStop(); activity.onDestroy(); activity = null; provider = null; TestUtil.cleanGarbage(); assertNull(activityRef.get()); assertNull(providerRef.get()); } }
@Test public void testLeakFree() { NaviEmitter fragment = NaviEmitter.createFragmentEmitter(); LifecycleProvider<FragmentEvent> provider = NaviLifecycle.createFragmentLifecycleProvider(fragment); WeakReference<NaviEmitter> fragmentRef = new WeakReference<>(fragment); WeakReference<LifecycleProvider<FragmentEvent>> providerRef = new WeakReference<>(provider); Observable<Object> observable = PublishSubject.create().hide(); TestObserver<Object> testObserver = observable.compose(provider.bindUntilEvent(FragmentEvent.STOP)).test(); fragment.onAttach(null); fragment.onCreate(null); fragment.onCreateView(null); fragment.onStart(); fragment.onResume(); fragment.onPause(); fragment.onStop(); fragment.onDestroyView(); fragment.onDestroy(); fragment.onDetach(); fragment = null; provider = null; TestUtil.cleanGarbage(); assertNull(fragmentRef.get()); assertNull(providerRef.get()); } }
@Test public void testBindUntilEvent() { NaviEmitter activity = createActivityEmitter(); LifecycleProvider<ActivityEvent> provider = createActivityLifecycleProvider(activity); Observable<Object> observable = create().hide(); TestObserver<Object> testObserver = observable.compose(provider.bindUntilEvent(STOP)).test(); activity.onCreate(null); testObserver.assertNotComplete(); activity.onStart(); testObserver.assertNotComplete(); activity.onResume(); testObserver.assertNotComplete(); activity.onPause(); testObserver.assertNotComplete(); activity.onStop(); testObserver.assertComplete(); }
@Test public void testBindUntilEvent() { NaviEmitter fragment = createFragmentEmitter(); LifecycleProvider<FragmentEvent> provider = createFragmentLifecycleProvider(fragment); Observable<Object> observable = create().hide(); TestObserver<Object> testObserver = observable.compose(provider.bindUntilEvent(STOP)).test(); fragment.onAttach(null); testObserver.assertNotComplete(); fragment.onCreate(null); testObserver.assertNotComplete(); fragment.onCreate(null); testObserver.assertNotComplete(); fragment.onStart(); testObserver.assertNotComplete(); fragment.onResume(); testObserver.assertNotComplete(); fragment.onPause(); testObserver.assertNotComplete(); fragment.onStop(); testObserver.assertComplete(); }
@Test public void testBindToLifecycle() { NaviEmitter activity = createActivityEmitter(); LifecycleProvider<ActivityEvent> provider = createActivityLifecycleProvider(activity); Observable<Object> observable = create().hide(); activity.onCreate(null); TestObserver<Object> createObserver = observable.compose(provider.bindToLifecycle()).test(); activity.onStart(); createObserver.assertNotComplete(); TestObserver<Object> startObserver = observable.compose(provider.bindToLifecycle()).test(); activity.onResume(); createObserver.assertNotComplete(); startObserver.assertNotComplete(); TestObserver<Object> resumeTestSub = observable.compose(provider.bindToLifecycle()).test(); activity.onPause(); createObserver.assertNotComplete(); startObserver.assertNotComplete(); resumeTestSub.assertComplete(); TestObserver<Object> pauseObserver = observable.compose(provider.bindToLifecycle()).test(); activity.onStop(); createObserver.assertNotComplete(); startObserver.assertComplete(); pauseObserver.assertComplete(); TestObserver<Object> stopObserver = observable.compose(provider.bindToLifecycle()).test(); activity.onDestroy(); createObserver.assertComplete(); stopObserver.assertComplete(); }
LifecycleProvider<FragmentEvent> provider = createFragmentLifecycleProvider(fragment); Observable<Object> observable = create().hide();