Index: chrome/android/javatests/src/org/chromium/chrome/browser/tab/SadTabTest.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/tab/SadTabTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/tab/SadTabTest.java |
index 23ca61c4264e28a4433f1e4a16a2535dcc939d99..c0857975e15a6125b7b9d1f6bcbaedc1926be5b4 100644 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/tab/SadTabTest.java |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/tab/SadTabTest.java |
@@ -7,53 +7,66 @@ package org.chromium.chrome.browser.tab; |
import android.support.test.filters.SmallTest; |
import android.widget.Button; |
+import org.junit.Assert; |
+import org.junit.Before; |
+import org.junit.Rule; |
+import org.junit.Test; |
+import org.junit.runner.RunWith; |
+ |
import org.chromium.base.ThreadUtils; |
+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.R; |
import org.chromium.chrome.browser.ChromeActivity; |
-import org.chromium.chrome.test.ChromeActivityTestCaseBase; |
+import org.chromium.chrome.browser.ChromeSwitches; |
+import org.chromium.chrome.test.ChromeActivityTestRule; |
+import org.chromium.chrome.test.ChromeJUnit4ClassRunner; |
/** |
* Tests related to the sad tab logic. |
*/ |
+@RunWith(ChromeJUnit4ClassRunner.class) |
@RetryOnFailure |
-public class SadTabTest extends ChromeActivityTestCaseBase<ChromeActivity> { |
- |
- public SadTabTest() { |
- super(ChromeActivity.class); |
- } |
- |
- @Override |
- public void startMainActivity() throws InterruptedException { |
- startMainActivityOnBlankPage(); |
+@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE, |
+ ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG}) |
+public class SadTabTest { |
+ @Rule |
+ public ChromeActivityTestRule<ChromeActivity> mActivityTestRule = |
+ new ChromeActivityTestRule<>(ChromeActivity.class); |
+ |
+ @Before |
+ public void setUp() throws InterruptedException { |
+ mActivityTestRule.startMainActivityOnBlankPage(); |
} |
/** |
* Verify that the sad tab is shown when the renderer crashes. |
*/ |
+ @Test |
@SmallTest |
@Feature({"SadTab"}) |
public void testSadTabShownWhenRendererProcessKilled() { |
- final Tab tab = getActivity().getActivityTab(); |
+ final Tab tab = mActivityTestRule.getActivity().getActivityTab(); |
- assertFalse(tab.isShowingSadTab()); |
+ Assert.assertFalse(tab.isShowingSadTab()); |
simulateRendererKilled(tab, true); |
- assertTrue(tab.isShowingSadTab()); |
+ Assert.assertTrue(tab.isShowingSadTab()); |
} |
/** |
* Verify that the sad tab is not shown when the renderer crashes in the background or the |
* renderer was killed by the OS out-of-memory killer. |
*/ |
+ @Test |
@SmallTest |
@Feature({"SadTab"}) |
public void testSadTabNotShownWhenRendererProcessKilledInBackround() { |
- final Tab tab = getActivity().getActivityTab(); |
+ final Tab tab = mActivityTestRule.getActivity().getActivityTab(); |
- assertFalse(tab.isShowingSadTab()); |
+ Assert.assertFalse(tab.isShowingSadTab()); |
simulateRendererKilled(tab, false); |
- assertFalse(tab.isShowingSadTab()); |
+ Assert.assertFalse(tab.isShowingSadTab()); |
} |
/** |
@@ -63,32 +76,39 @@ public class SadTabTest extends ChromeActivityTestCaseBase<ChromeActivity> { |
* @throws InterruptedException |
* @throws IllegalArgumentException |
*/ |
+ @Test |
@SmallTest |
@Feature({"SadTab"}) |
public void testSadTabPageButtonText() throws IllegalArgumentException, InterruptedException { |
- final Tab tab = getActivity().getActivityTab(); |
+ final Tab tab = mActivityTestRule.getActivity().getActivityTab(); |
- assertFalse(tab.isShowingSadTab()); |
+ Assert.assertFalse(tab.isShowingSadTab()); |
simulateRendererKilled(tab, true); |
- assertTrue(tab.isShowingSadTab()); |
+ Assert.assertTrue(tab.isShowingSadTab()); |
String actualText = getSadTabButton(tab).getText().toString(); |
- assertEquals("Expected the sad tab button to have the reload label", |
- getActivity().getString(R.string.sad_tab_reload_label), actualText); |
+ Assert.assertEquals("Expected the sad tab button to have the reload label", |
+ mActivityTestRule.getActivity().getString(R.string.sad_tab_reload_label), |
+ actualText); |
reloadSadTab(tab); |
- assertTrue(tab.isShowingSadTab()); |
+ Assert.assertTrue(tab.isShowingSadTab()); |
actualText = getSadTabButton(tab).getText().toString(); |
- assertEquals( |
+ Assert.assertEquals( |
"Expected the sad tab button to have the feedback label after the tab button " |
- + "crashes twice in a row.", |
- getActivity().getString(R.string.sad_tab_send_feedback_label), actualText); |
- loadUrl("about:blank"); |
- assertFalse("Expected about:blank to destroy the sad tab however the sad tab is still in " |
- + "view", tab.isShowingSadTab()); |
+ + "crashes twice in a row.", |
+ mActivityTestRule.getActivity().getString(R.string.sad_tab_send_feedback_label), |
+ actualText); |
+ mActivityTestRule.loadUrl("about:blank"); |
+ Assert.assertFalse( |
+ "Expected about:blank to destroy the sad tab however the sad tab is still in " |
+ + "view", |
+ tab.isShowingSadTab()); |
simulateRendererKilled(tab, true); |
actualText = getSadTabButton(tab).getText().toString(); |
- assertEquals("Expected the sad tab button to have the reload label after a successful load", |
- getActivity().getString(R.string.sad_tab_reload_label), actualText); |
+ Assert.assertEquals( |
+ "Expected the sad tab button to have the reload label after a successful load", |
+ mActivityTestRule.getActivity().getString(R.string.sad_tab_reload_label), |
+ actualText); |
} |
/** |