@Test public void shouldCallActivityLifecycleCallbacks() { final Transcript transcript = new Transcript(); final ActivityController<Activity> controller = buildActivity(Activity.class); RuntimeEnvironment.application.registerActivityLifecycleCallbacks( new ActivityLifecycleCallbacks(transcript)); controller.create(); transcript.assertEventsSoFar("onActivityCreated"); controller.start(); transcript.assertEventsSoFar("onActivityStarted"); controller.resume(); transcript.assertEventsSoFar("onActivityResumed"); controller.saveInstanceState(new Bundle()); transcript.assertEventsSoFar("onActivitySaveInstanceState"); controller.pause(); transcript.assertEventsSoFar("onActivityPaused"); controller.stop(); transcript.assertEventsSoFar("onActivityStopped"); controller.destroy(); transcript.assertEventsSoFar("onActivityDestroyed"); }
@Test public void testJustFinishIfCreatedAgain() throws Exception { ActivityController<LauncherSettingsActivity> controller = Robolectric.buildActivity(LauncherSettingsActivity.class).attach().create().resume(); ShadowActivity shadowActivity = Shadows.shadowOf(controller.get()); Assert.assertFalse(shadowActivity.isFinishing()); controller.pause().stop(); Assert.assertFalse(shadowActivity.isFinishing()); Bundle state = new Bundle(); controller.saveInstanceState(state).destroy(); controller = Robolectric.buildActivity(LauncherSettingsActivity.class).attach().create(state); shadowActivity = Shadows.shadowOf(controller.get()); Assert.assertFalse(shadowActivity.isFinishing()); controller.resume(); Assert.assertTrue(shadowActivity.isFinishing()); }