diff options
Diffstat (limited to 'mobile/android/app/src')
-rw-r--r-- | mobile/android/app/src/androidTest/AndroidManifest.xml | 61 | ||||
-rw-r--r-- | mobile/android/app/src/test/java/org/mozilla/gecko/TestGeckoApplication.java | 27 |
2 files changed, 88 insertions, 0 deletions
diff --git a/mobile/android/app/src/androidTest/AndroidManifest.xml b/mobile/android/app/src/androidTest/AndroidManifest.xml new file mode 100644 index 000000000..9478f5b07 --- /dev/null +++ b/mobile/android/app/src/androidTest/AndroidManifest.xml @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="org.mozilla.roboexample.test" + android:sharedUserId="${MOZ_ANDROID_SHARED_ID}" + android:versionCode="1" + android:versionName="1.0" > + + <uses-sdk android:minSdkVersion="${MOZ_ANDROID_MIN_SDK_VERSION}" + android:targetSdkVersion="23"/> + <!-- TODO: re-instate maxSdkVersion. --> + + <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> + + <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> + <uses-permission android:name="android.permission.WAKE_LOCK" /> + + <instrumentation + android:name="org.mozilla.gecko.FennecInstrumentationTestRunner" + android:targetPackage="${ANDROID_PACKAGE_NAME}" /> + + <application + android:label="@string/app_name"> + + <uses-library android:name="android.test.runner" /> + + <!-- Fake handlers to ensure that we have some share intents to show in our share handler list --> + <activity android:name="org.mozilla.gecko.RobocopShare1" + android:label="Robocop fake activity"> + + <intent-filter android:label="Fake robocop share handler 1"> + <action android:name="android.intent.action.SEND" /> + <category android:name="android.intent.category.DEFAULT" /> + <data android:mimeType="text/*" /> + <data android:mimeType="image/*" /> + </intent-filter> + + </activity> + + <activity android:name="org.mozilla.gecko.RobocopShare2" + android:label="Robocop fake activity 2"> + + <intent-filter android:label="Fake robocop share handler 2"> + <action android:name="android.intent.action.SEND" /> + <category android:name="android.intent.category.DEFAULT" /> + <data android:mimeType="text/*" /> + <data android:mimeType="image/*" /> + </intent-filter> + + </activity> + + <activity android:name="org.mozilla.gecko.LaunchFennecWithConfigurationActivity" + android:label="Robocop Fennec"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + </activity> + + </application> + +</manifest> diff --git a/mobile/android/app/src/test/java/org/mozilla/gecko/TestGeckoApplication.java b/mobile/android/app/src/test/java/org/mozilla/gecko/TestGeckoApplication.java new file mode 100644 index 000000000..fee9a426d --- /dev/null +++ b/mobile/android/app/src/test/java/org/mozilla/gecko/TestGeckoApplication.java @@ -0,0 +1,27 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +package org.mozilla.gecko; + +import android.app.Application; + +import org.robolectric.TestLifecycleApplication; + +import java.lang.reflect.Method; + +/** + * GeckoApplication isn't test-lifecycle friendly: onCreate is called multiple times, which + * re-registers Gecko event listeners, which fails. This class is magically named so that + * Robolectric uses it instead of the application defined in the Android manifest. See + * http://robolectric.blogspot.ca/2013/04/the-test-lifecycle-in-20.html. + */ +public class TestGeckoApplication extends Application implements TestLifecycleApplication { + @Override public void beforeTest(Method method) { + } + + @Override public void prepareTest(Object test) { + } + + @Override public void afterTest(Method method) { + } +} |