package mobi.monaca.framework.test; import android.app.Instrumentation; import android.content.Intent; import android.test.ActivityUnitTestCase; import mobi.monaca.framework.MonacaApplication; import mobi.monaca.framework.MonacaPageActivity; public class MonacaPageActivityLyfeCycleTest extends ActivityUnitTestCase<MonacaPageActivity> { public MonacaPageActivityLyfeCycleTest() { super(MonacaPageActivity.class); } @Override protected void setUp() throws Exception { super.setUp(); MonacaApplication application = new MonacaApplication(); application.loadAppJsonSetting(); setApplication(application); } public void testNormalLyfeCycle() { // test whether not destroyed by unexpected causes startActivity(new Intent(), null, null); MonacaPageActivity pageActivity = getActivity(); Instrumentation i = getInstrumentation(); i.callActivityOnStart(pageActivity); i.callActivityOnResume(pageActivity); i.callActivityOnPause(pageActivity); i.callActivityOnStop(pageActivity); i.callActivityOnDestroy(pageActivity); pageActivity.finish(); } public void testNormalLyfeCycleWithUrl() { // test whether not destroyed by unexpected causes Intent intent = new Intent(); intent.putExtra(MonacaPageActivity.URL_PARAM_NAME, "http://monaca.mobi"); startActivity(intent, null, null); MonacaPageActivity pageActivity = getActivity(); Instrumentation i = getInstrumentation(); i.callActivityOnStart(pageActivity); i.callActivityOnResume(pageActivity); i.callActivityOnPause(pageActivity); i.callActivityOnStop(pageActivity); i.callActivityOnDestroy(pageActivity); pageActivity.finish(); } public void testNormalLyfeCycleWithInvalidUrl() { // test whether not destroyed by unexpected causes Intent intent = new Intent(); intent.putExtra(MonacaPageActivity.URL_PARAM_NAME, "monaca://hogehoge"); startActivity(intent, null, null); MonacaPageActivity pageActivity = getActivity(); Instrumentation i = getInstrumentation(); i.callActivityOnStart(pageActivity); i.callActivityOnResume(pageActivity); i.callActivityOnPause(pageActivity); i.callActivityOnStop(pageActivity); i.callActivityOnDestroy(pageActivity); pageActivity.finish(); } public void testResumingLyfeCycle() { // test whether not destroyed by unexpected causes startActivity(new Intent(), null, null); MonacaPageActivity pageActivity = getActivity(); Instrumentation i = getInstrumentation(); i.callActivityOnStart(pageActivity); for (int k = 0; k < 10; k++) { i.callActivityOnResume(pageActivity); i.callActivityOnPause(pageActivity); } i.callActivityOnStop(pageActivity); i.callActivityOnDestroy(pageActivity); pageActivity.finish(); } public void testBackgroundLyfeCycle() { // test whether not destroyed by unexpected causes startActivity(new Intent(), null, null); MonacaPageActivity pageActivity = getActivity(); Instrumentation i = getInstrumentation(); for (int k = 0; k < 10; k++) { i.callActivityOnStart(pageActivity); i.callActivityOnResume(pageActivity); i.callActivityOnUserLeaving(pageActivity); i.callActivityOnPause(pageActivity); i.callActivityOnStop(pageActivity); i.callActivityOnRestart(pageActivity); } i.callActivityOnStart(pageActivity); i.callActivityOnResume(pageActivity); i.callActivityOnPause(pageActivity); i.callActivityOnStop(pageActivity); i.callActivityOnDestroy(pageActivity); pageActivity.finish(); } }