Index: chrome/android/javatests/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeIntentTest.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeIntentTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeIntentTest.java |
index d8f07e433dde5440b772fbf3e6a62f968107f46b..5fd43d2c11544d798d20988f02f373992c23847d 100644 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeIntentTest.java |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeIntentTest.java |
@@ -8,24 +8,17 @@ |
import android.app.PendingIntent; |
import android.content.Context; |
import android.content.Intent; |
-import android.support.test.InstrumentationRegistry; |
import android.support.test.filters.MediumTest; |
-import org.junit.Assert; |
-import org.junit.Test; |
-import org.junit.runner.RunWith; |
- |
import org.chromium.base.library_loader.LibraryLoader; |
-import org.chromium.base.test.util.CommandLineFlags; |
import org.chromium.base.test.util.Feature; |
import org.chromium.base.test.util.RetryOnFailure; |
-import org.chromium.chrome.browser.ChromeSwitches; |
+import org.chromium.chrome.browser.ChromeActivity; |
import org.chromium.chrome.browser.document.ChromeLauncherActivity; |
import org.chromium.chrome.browser.preferences.Preferences; |
import org.chromium.chrome.browser.preferences.website.SingleCategoryPreferences; |
import org.chromium.chrome.browser.preferences.website.SingleWebsitePreferences; |
-import org.chromium.chrome.test.ChromeActivityTestRule; |
-import org.chromium.chrome.test.ChromeJUnit4ClassRunner; |
+import org.chromium.chrome.test.ChromeActivityTestCaseBase; |
import org.chromium.chrome.test.util.ActivityUtils; |
import org.chromium.content.browser.test.util.Criteria; |
import org.chromium.content.browser.test.util.CriteriaHelper; |
@@ -37,11 +30,9 @@ |
* that the responsibility for correct initialization, e.g. loading the native library, lies with |
* the code exercised by this test. |
*/ |
-@RunWith(ChromeJUnit4ClassRunner.class) |
@RetryOnFailure |
-@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE, |
- ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG}) |
-public class NotificationPlatformBridgeIntentTest { |
+public class NotificationPlatformBridgeIntentTest |
+ extends ChromeActivityTestCaseBase<ChromeActivity> { |
/** |
* Name of the Intent extra holding the notification id. This is set by the framework when a |
* notification preferences intent has been triggered from there, which could be one of the |
@@ -49,22 +40,28 @@ |
*/ |
public static final String EXTRA_NOTIFICATION_ID = "notification_id"; |
+ public NotificationPlatformBridgeIntentTest() { |
+ super(ChromeActivity.class); |
+ } |
+ |
+ @Override |
+ public void startMainActivity() throws InterruptedException { |
+ // Don't do anything here. The responsibility for correct initialization, e.g. loading the |
+ // native library, lies with the code exercised by this test. |
+ } |
+ |
/** |
* Tests the scenario where the user clicks "App settings" in the Android App notifications |
* screen. In this scenario the intent does not have the tag extra which holds the origin. This |
* means that the preferences cannot be shown for a specific site, and Chrome falls back to |
* showing the notification preferences for all sites. |
*/ |
- @Test |
@MediumTest |
@Feature({"Browser", "Notifications"}) |
public void testLaunchNotificationPreferencesForCategory() { |
- Assert.assertFalse( |
- "The native library should not be loaded yet", LibraryLoader.isInitialized()); |
+ assertFalse("The native library should not be loaded yet", LibraryLoader.isInitialized()); |
- final Context context = InstrumentationRegistry.getInstrumentation() |
- .getTargetContext() |
- .getApplicationContext(); |
+ final Context context = getInstrumentation().getTargetContext().getApplicationContext(); |
final Intent intent = |
new Intent(Intent.ACTION_MAIN) |
@@ -73,17 +70,17 @@ |
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); |
Preferences activity = ActivityUtils.waitForActivity( |
- InstrumentationRegistry.getInstrumentation(), Preferences.class, new Runnable() { |
+ getInstrumentation(), Preferences.class, new Runnable() { |
@Override |
public void run() { |
context.startActivity(intent); |
} |
}); |
- Assert.assertNotNull("Could not find the Preferences activity", activity); |
+ assertNotNull("Could not find the Preferences activity", activity); |
SingleCategoryPreferences fragment = |
ActivityUtils.waitForFragmentToAttach(activity, SingleCategoryPreferences.class); |
- Assert.assertNotNull("Could not find the SingleCategoryPreferences fragment", fragment); |
+ assertNotNull("Could not find the SingleCategoryPreferences fragment", fragment); |
} |
/** |
@@ -91,16 +88,12 @@ |
* through a long press. In this scenario the intent has the tag extra which holds the origin |
* that created the notification. Chrome will show the preferences for this specific site. |
*/ |
- @Test |
@MediumTest |
@Feature({"Browser", "Notifications"}) |
public void testLaunchNotificationPreferencesForWebsite() { |
- Assert.assertFalse( |
- "The native library should not be loaded yet", LibraryLoader.isInitialized()); |
+ assertFalse("The native library should not be loaded yet", LibraryLoader.isInitialized()); |
- final Context context = InstrumentationRegistry.getInstrumentation() |
- .getTargetContext() |
- .getApplicationContext(); |
+ final Context context = getInstrumentation().getTargetContext().getApplicationContext(); |
final Intent intent = |
new Intent(Intent.ACTION_MAIN) |
@@ -114,17 +107,17 @@ |
null /* tag */)); |
Preferences activity = ActivityUtils.waitForActivity( |
- InstrumentationRegistry.getInstrumentation(), Preferences.class, new Runnable() { |
+ getInstrumentation(), Preferences.class, new Runnable() { |
@Override |
public void run() { |
context.startActivity(intent); |
} |
}); |
- Assert.assertNotNull("Could not find the Preferences activity", activity); |
+ assertNotNull("Could not find the Preferences activity", activity); |
SingleWebsitePreferences fragment = |
ActivityUtils.waitForFragmentToAttach(activity, SingleWebsitePreferences.class); |
- Assert.assertNotNull("Could not find the SingleWebsitePreferences fragment", fragment); |
+ assertNotNull("Could not find the SingleWebsitePreferences fragment", fragment); |
} |
/** |
@@ -135,17 +128,13 @@ |
* The created intent does not carry significant data and is expected to fail, but has to be |
* sufficient for the Java code to trigger start-up of the browser process. |
*/ |
- @Test |
@MediumTest |
@Feature({"Browser", "Notifications"}) |
public void testLaunchProcessForNotificationActivation() throws Exception { |
- Assert.assertFalse( |
- "The native library should not be loaded yet", LibraryLoader.isInitialized()); |
- Assert.assertNull(NotificationPlatformBridge.getInstanceForTests()); |
+ assertFalse("The native library should not be loaded yet", LibraryLoader.isInitialized()); |
+ assertNull(NotificationPlatformBridge.getInstanceForTests()); |
- Context context = InstrumentationRegistry.getInstrumentation() |
- .getTargetContext() |
- .getApplicationContext(); |
+ Context context = getInstrumentation().getTargetContext().getApplicationContext(); |
Intent intent = new Intent(NotificationConstants.ACTION_CLICK_NOTIFICATION); |
intent.setClass(context, NotificationService.Receiver.class); |
@@ -169,7 +158,7 @@ |
} |
}); |
- Assert.assertTrue("The native library should be loaded now", LibraryLoader.isInitialized()); |
- Assert.assertNotNull(NotificationPlatformBridge.getInstanceForTests()); |
+ assertTrue("The native library should be loaded now", LibraryLoader.isInitialized()); |
+ assertNotNull(NotificationPlatformBridge.getInstanceForTests()); |
} |
} |