@Test public void testNonLifecycleEvents() { NaviEmitter fragment = NaviEmitter.createFragmentEmitter(); LifecycleProvider<FragmentEvent> provider = NaviLifecycle.createFragmentLifecycleProvider(fragment); TestObserver<FragmentEvent> testObserver = provider.lifecycle().test(); fragment.onRestoreInstanceState(new Bundle()); testObserver.assertNoValues(); testObserver.assertNoErrors(); }
@Override @CallSuper protected void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); base.onRestoreInstanceState(savedInstanceState); }
@Override @CallSuper public void onRestoreInstanceState(Bundle savedInstanceState, PersistableBundle persistentState) { super.onRestoreInstanceState(savedInstanceState, persistentState); base.onRestoreInstanceState(savedInstanceState, persistentState); }
@Override @CallSuper protected void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); base.onRestoreInstanceState(savedInstanceState); }
@Override @CallSuper public void onRestoreInstanceState(Bundle savedInstanceState, PersistableBundle persistentState) { super.onRestoreInstanceState(savedInstanceState, persistentState); base.onRestoreInstanceState(savedInstanceState, persistentState); }
@Test public void restoreInstanceStateListener() { Listener<Bundle> listener = mock(Listener.class); emitter.addListener(Event.RESTORE_INSTANCE_STATE, listener); Bundle bundle = new Bundle(); emitter.onRestoreInstanceState(bundle); verify(listener).call(bundle); emitter.removeListener(listener); emitter.onRestoreInstanceState(bundle); verifyNoMoreInteractions(listener); }
@Test public void restoreInstanceStateWithNullBundle() { NaviEmitter emitter = NaviEmitter.createActivityEmitter(); Listener<Bundle> listener = mock(Listener.class); emitter.addListener(Event.RESTORE_INSTANCE_STATE, listener); emitter.onRestoreInstanceState(null); verify(listener).call(any(Bundle.class)); }
@Test public void restoreInstanceStatePersistableListener() { Listener<Bundle> listener = mock(Listener.class); Listener<BundleBundle> persistableListener = mock(Listener.class); emitter.addListener(Event.RESTORE_INSTANCE_STATE, listener); emitter.addListener(Event.RESTORE_INSTANCE_STATE_PERSISTABLE, persistableListener); Bundle bundle = new Bundle(); PersistableBundle persistableBundle = mock(PersistableBundle.class); emitter.onRestoreInstanceState(bundle, persistableBundle); verifyZeroInteractions(listener); verify(persistableListener).call(BundleBundle.create(bundle, persistableBundle)); emitter.removeListener(listener); emitter.removeListener(persistableListener); emitter.onRestoreInstanceState(bundle, persistableBundle); verifyNoMoreInteractions(listener); verifyNoMoreInteractions(persistableListener); }
@Test public void observeRestoreInstanceStatePersistable() { TestObserver<BundleBundle> testObserver = RxNavi.observe(emitter, Event.RESTORE_INSTANCE_STATE_PERSISTABLE).test(); testObserver.assertNoValues(); Bundle bundle = new Bundle(); PersistableBundle persistableBundle = mock(PersistableBundle.class); emitter.onRestoreInstanceState(bundle, persistableBundle); testObserver.dispose(); emitter.onRestoreInstanceState(bundle, persistableBundle); testObserver.assertValue(BundleBundle.create(bundle, persistableBundle)); testObserver.assertNotTerminated(); }
@Test public void observeRestoreInstanceState() { TestObserver<Bundle> testObserver = RxNavi.observe(emitter, Event.RESTORE_INSTANCE_STATE).test(); testObserver.assertNoValues(); Bundle bundle = new Bundle(); emitter.onRestoreInstanceState(bundle); testObserver.dispose(); emitter.onRestoreInstanceState(bundle); testObserver.assertValue(bundle); testObserver.assertNotTerminated(); }