summaryrefslogtreecommitdiffstats
path: root/mobile/android/app/src/test/java/org/mozilla/gecko/TestGeckoApplication.java
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/app/src/test/java/org/mozilla/gecko/TestGeckoApplication.java')
-rw-r--r--mobile/android/app/src/test/java/org/mozilla/gecko/TestGeckoApplication.java27
1 files changed, 27 insertions, 0 deletions
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) {
+ }
+}