Search in sources :

Example 21 with MockApplication

use of android.test.mock.MockApplication in project android_frameworks_base by DirtyUnicorns.

the class ActivityUnitTestCase method startActivity.

/**
     * Start the activity under test, in the same way as if it was started by
     * {@link android.content.Context#startActivity Context.startActivity()}, providing the
     * arguments it supplied.  When you use this method to start the activity, it will automatically
     * be stopped by {@link #tearDown}.
     *
     * <p>This method will call onCreate(), but if you wish to further exercise Activity life
     * cycle methods, you must call them yourself from your test case.
     *
     * <p><i>Do not call from your setUp() method.  You must call this method from each of your
     * test methods.</i>
     *
     * @param intent The Intent as if supplied to {@link android.content.Context#startActivity}.
     * @param savedInstanceState The instance state, if you are simulating this part of the life
     * cycle.  Typically null.
     * @param lastNonConfigurationInstance This Object will be available to the
     * Activity if it calls {@link android.app.Activity#getLastNonConfigurationInstance()}.
     * Typically null.
     * @return Returns the Activity that was created
     */
protected T startActivity(Intent intent, Bundle savedInstanceState, Object lastNonConfigurationInstance) {
    assertFalse("Activity already created", mCreated);
    if (!mAttached) {
        assertNotNull(mActivityClass);
        setActivity(null);
        T newActivity = null;
        try {
            IBinder token = null;
            if (mApplication == null) {
                setApplication(new MockApplication());
            }
            ComponentName cn = new ComponentName(mActivityClass.getPackage().getName(), mActivityClass.getName());
            intent.setComponent(cn);
            ActivityInfo info = new ActivityInfo();
            CharSequence title = mActivityClass.getName();
            mMockParent = new MockParent();
            String id = null;
            newActivity = (T) getInstrumentation().newActivity(mActivityClass, mActivityContext, token, mApplication, intent, info, title, mMockParent, id, lastNonConfigurationInstance);
        } catch (Exception e) {
            Log.w(TAG, "Catching exception", e);
            assertNotNull(newActivity);
        }
        assertNotNull(newActivity);
        setActivity(newActivity);
        mAttached = true;
    }
    T result = getActivity();
    if (result != null) {
        getInstrumentation().callActivityOnCreate(getActivity(), savedInstanceState);
        mCreated = true;
    }
    return result;
}
Also used : ActivityInfo(android.content.pm.ActivityInfo) IBinder(android.os.IBinder) MockApplication(android.test.mock.MockApplication) ComponentName(android.content.ComponentName)

Example 22 with MockApplication

use of android.test.mock.MockApplication in project android_frameworks_base by DirtyUnicorns.

the class ServiceTestCase method setupService.

/**
     * Creates the service under test and attaches all injected dependencies
     * (Context, Application) to it.  This is called automatically by {@link #startService} or
     * by {@link #bindService}.
     * If you need to call {@link AndroidTestCase#setContext(Context) setContext()} or
     * {@link #setApplication setApplication()}, do so before calling this method.
     */
protected void setupService() {
    mService = null;
    try {
        mService = mServiceClass.newInstance();
    } catch (Exception e) {
        assertNotNull(mService);
    }
    if (getApplication() == null) {
        setApplication(new MockApplication());
    }
    mService.attach(getContext(), // ActivityThread not actually used in Service
    null, mServiceClass.getName(), // token not needed when not talking with the activity manager
    null, getApplication(), // mocked services don't talk with the activity manager
    null);
    assertNotNull(mService);
    mServiceId = new Random().nextInt();
    mServiceAttached = true;
}
Also used : MockApplication(android.test.mock.MockApplication) Random(java.util.Random)

Example 23 with MockApplication

use of android.test.mock.MockApplication in project android_frameworks_base by ResurrectionRemix.

the class ServiceTestCase method setupService.

/**
     * Creates the service under test and attaches all injected dependencies
     * (Context, Application) to it.  This is called automatically by {@link #startService} or
     * by {@link #bindService}.
     * If you need to call {@link AndroidTestCase#setContext(Context) setContext()} or
     * {@link #setApplication setApplication()}, do so before calling this method.
     */
protected void setupService() {
    mService = null;
    try {
        mService = mServiceClass.newInstance();
    } catch (Exception e) {
        assertNotNull(mService);
    }
    if (getApplication() == null) {
        setApplication(new MockApplication());
    }
    mService.attach(getContext(), // ActivityThread not actually used in Service
    null, mServiceClass.getName(), // token not needed when not talking with the activity manager
    null, getApplication(), // mocked services don't talk with the activity manager
    null);
    assertNotNull(mService);
    mServiceId = new Random().nextInt();
    mServiceAttached = true;
}
Also used : MockApplication(android.test.mock.MockApplication) Random(java.util.Random)

Example 24 with MockApplication

use of android.test.mock.MockApplication in project android_frameworks_base by crdroidandroid.

the class ServiceTestCase method setupService.

/**
     * Creates the service under test and attaches all injected dependencies
     * (Context, Application) to it.  This is called automatically by {@link #startService} or
     * by {@link #bindService}.
     * If you need to call {@link AndroidTestCase#setContext(Context) setContext()} or
     * {@link #setApplication setApplication()}, do so before calling this method.
     */
protected void setupService() {
    mService = null;
    try {
        mService = mServiceClass.newInstance();
    } catch (Exception e) {
        assertNotNull(mService);
    }
    if (getApplication() == null) {
        setApplication(new MockApplication());
    }
    mService.attach(getContext(), // ActivityThread not actually used in Service
    null, mServiceClass.getName(), // token not needed when not talking with the activity manager
    null, getApplication(), // mocked services don't talk with the activity manager
    null);
    assertNotNull(mService);
    mServiceId = new Random().nextInt();
    mServiceAttached = true;
}
Also used : MockApplication(android.test.mock.MockApplication) Random(java.util.Random)

Example 25 with MockApplication

use of android.test.mock.MockApplication in project platform_frameworks_base by android.

the class ActivityUnitTestCase method startActivity.

/**
     * Start the activity under test, in the same way as if it was started by
     * {@link android.content.Context#startActivity Context.startActivity()}, providing the
     * arguments it supplied.  When you use this method to start the activity, it will automatically
     * be stopped by {@link #tearDown}.
     *
     * <p>This method will call onCreate(), but if you wish to further exercise Activity life
     * cycle methods, you must call them yourself from your test case.
     *
     * <p><i>Do not call from your setUp() method.  You must call this method from each of your
     * test methods.</i>
     *
     * @param intent The Intent as if supplied to {@link android.content.Context#startActivity}.
     * @param savedInstanceState The instance state, if you are simulating this part of the life
     * cycle.  Typically null.
     * @param lastNonConfigurationInstance This Object will be available to the
     * Activity if it calls {@link android.app.Activity#getLastNonConfigurationInstance()}.
     * Typically null.
     * @return Returns the Activity that was created
     */
protected T startActivity(Intent intent, Bundle savedInstanceState, Object lastNonConfigurationInstance) {
    assertFalse("Activity already created", mCreated);
    if (!mAttached) {
        assertNotNull(mActivityClass);
        setActivity(null);
        T newActivity = null;
        try {
            IBinder token = null;
            if (mApplication == null) {
                setApplication(new MockApplication());
            }
            ComponentName cn = new ComponentName(mActivityClass.getPackage().getName(), mActivityClass.getName());
            intent.setComponent(cn);
            ActivityInfo info = new ActivityInfo();
            CharSequence title = mActivityClass.getName();
            mMockParent = new MockParent();
            String id = null;
            newActivity = (T) getInstrumentation().newActivity(mActivityClass, mActivityContext, token, mApplication, intent, info, title, mMockParent, id, lastNonConfigurationInstance);
        } catch (Exception e) {
            Log.w(TAG, "Catching exception", e);
            assertNotNull(newActivity);
        }
        assertNotNull(newActivity);
        setActivity(newActivity);
        mAttached = true;
    }
    T result = getActivity();
    if (result != null) {
        getInstrumentation().callActivityOnCreate(getActivity(), savedInstanceState);
        mCreated = true;
    }
    return result;
}
Also used : ActivityInfo(android.content.pm.ActivityInfo) IBinder(android.os.IBinder) MockApplication(android.test.mock.MockApplication) ComponentName(android.content.ComponentName)

Aggregations

MockApplication (android.test.mock.MockApplication)26 ComponentName (android.content.ComponentName)5 ActivityInfo (android.content.pm.ActivityInfo)5 IBinder (android.os.IBinder)5 Random (java.util.Random)5 DefaultModule (proton.inject.DefaultModule)4 MockContext (proton.inject.MockContext)4 ApplicationScoped (proton.inject.scope.ApplicationScoped)3 ActivityNotFoundException (android.content.ActivityNotFoundException)1 TypedArray (android.content.res.TypedArray)1 RemoteException (android.os.RemoteException)1 ActionBarActivity (android.support.v7.app.ActionBarActivity)1 SuperStartActivity (org.holoeverywhere.ThemeManager.SuperStartActivity)1 IAddonActivity (org.holoeverywhere.addon.IAddonActivity)1 Activity (org.holoeverywhere.app.Activity)1 Application (org.holoeverywhere.app.Application)1 ObserverManager (proton.inject.observer.ObserverManager)1 Dependent (proton.inject.scope.Dependent)1