Пример #1
0
  @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());
  }