Index: chrome/android/javatests/src/org/chromium/chrome/browser/feedback/FeedbackCollectorTest.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/feedback/FeedbackCollectorTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/feedback/FeedbackCollectorTest.java |
index 4f1bbeb90549fdb236dba6409e7ed90ff56e929c..9e1a79979826977e528b506b999d7f2166b9317d 100644 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/feedback/FeedbackCollectorTest.java |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/feedback/FeedbackCollectorTest.java |
@@ -7,15 +7,25 @@ package org.chromium.chrome.browser.feedback; |
import android.app.Activity; |
import android.graphics.Bitmap; |
import android.os.Bundle; |
+import android.support.test.InstrumentationRegistry; |
import android.support.test.filters.SmallTest; |
+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.browser.ChromeActivity; |
+import org.chromium.chrome.browser.ChromeSwitches; |
import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings; |
import org.chromium.chrome.browser.profiles.Profile; |
-import org.chromium.chrome.test.ChromeActivityTestCaseBase; |
+import org.chromium.chrome.test.ChromeActivityTestRule; |
+import org.chromium.chrome.test.ChromeJUnit4ClassRunner; |
import org.chromium.content.browser.test.util.UiUtils; |
import org.chromium.net.ConnectionType; |
@@ -32,8 +42,15 @@ import javax.annotation.Nullable; |
/** |
* Test for {@link FeedbackCollector}. |
*/ |
+@RunWith(ChromeJUnit4ClassRunner.class) |
@RetryOnFailure |
-public class FeedbackCollectorTest extends ChromeActivityTestCaseBase<ChromeActivity> { |
+@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE, |
+ ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG}) |
+public class FeedbackCollectorTest { |
+ @Rule |
+ public ChromeActivityTestRule<ChromeActivity> mActivityTestRule = |
+ new ChromeActivityTestRule<>(ChromeActivity.class); |
+ |
private static final int CONNECTIVITY_TASK_TIMEOUT_MS = 10; |
private ChromeActivity mActivity; |
@@ -41,10 +58,6 @@ public class FeedbackCollectorTest extends ChromeActivityTestCaseBase<ChromeActi |
private TestFeedbackCollector mCollector; |
private TestConnectivityTask mTestConnectivityTask; |
- public FeedbackCollectorTest() { |
- super(ChromeActivity.class); |
- } |
- |
/** |
* Class for facilitating testing of {@link FeedbackCollector}. All public methods are |
* automatically run on the UI thread, to simplify testing code. |
@@ -189,10 +202,10 @@ public class FeedbackCollectorTest extends ChromeActivityTestCaseBase<ChromeActi |
} |
} |
- @Override |
- protected void setUp() throws Exception { |
- super.setUp(); |
- mActivity = getActivity(); |
+ @Before |
+ public void setUp() throws Exception { |
+ mActivityTestRule.startMainActivityOnBlankPage(); |
+ mActivity = mActivityTestRule.getActivity(); |
ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
@Override |
public void run() { |
@@ -201,11 +214,7 @@ public class FeedbackCollectorTest extends ChromeActivityTestCaseBase<ChromeActi |
}); |
} |
- @Override |
- public void startMainActivity() throws InterruptedException { |
- startMainActivityOnBlankPage(); |
- } |
- |
+ @Test |
@SmallTest |
@Feature({"Feedback"}) |
public void testGatheringOfData() { |
@@ -218,15 +227,16 @@ public class FeedbackCollectorTest extends ChromeActivityTestCaseBase<ChromeActi |
mCollector.setScreenshot(bitmap); |
Bundle bundle = mCollector.getBundle(); |
- assertEquals("http://www.example.com/", bundle.getString(FeedbackCollector.URL_KEY)); |
- assertEquals("CONNECTED", bundle.getString(ConnectivityTask.CHROME_HTTPS_KEY)); |
- assertEquals("some description", mCollector.getDescription()); |
- assertEquals("bar", bundle.getString("foo")); |
- assertEquals(bitmap, mCollector.getScreenshot()); |
- assertEquals("false", |
+ Assert.assertEquals("http://www.example.com/", bundle.getString(FeedbackCollector.URL_KEY)); |
+ Assert.assertEquals("CONNECTED", bundle.getString(ConnectivityTask.CHROME_HTTPS_KEY)); |
+ Assert.assertEquals("some description", mCollector.getDescription()); |
+ Assert.assertEquals("bar", bundle.getString("foo")); |
+ Assert.assertEquals(bitmap, mCollector.getScreenshot()); |
+ Assert.assertEquals("false", |
bundle.getString(DataReductionProxySettings.DATA_REDUCTION_PROXY_ENABLED_KEY)); |
} |
+ @Test |
@SmallTest |
@Feature({"Feedback"}) |
public void testGatheringOfDataWithCallback() throws InterruptedException { |
@@ -240,27 +250,29 @@ public class FeedbackCollectorTest extends ChromeActivityTestCaseBase<ChromeActi |
} |
}; |
mCollector = createCollector("http://www.example.com/", callback); |
- assertFalse("Result should not be ready directly after creation.", hasResult.get()); |
+ Assert.assertFalse("Result should not be ready directly after creation.", hasResult.get()); |
ConnectivityTask.FeedbackData feedbackData = createFeedbackData(); |
mCollector.onResult(feedbackData); |
- assertFalse("Result should not be ready after connectivity data.", hasResult.get()); |
+ Assert.assertFalse("Result should not be ready after connectivity data.", hasResult.get()); |
mCollector.setDescription("some description"); |
mCollector.add("foo", "bar"); |
Bitmap bitmap = createBitmap(); |
mCollector.onGotBitmap(bitmap); |
// Wait until the callback has been called. |
- assertTrue("Failed to acquire semaphore.", semaphore.tryAcquire(1, TimeUnit.SECONDS)); |
- assertTrue("Result should be ready after retrieving all data.", hasResult.get()); |
+ Assert.assertTrue( |
+ "Failed to acquire semaphore.", semaphore.tryAcquire(1, TimeUnit.SECONDS)); |
+ Assert.assertTrue("Result should be ready after retrieving all data.", hasResult.get()); |
Bundle bundle = mCollector.getBundle(); |
- assertEquals("http://www.example.com/", bundle.getString(FeedbackCollector.URL_KEY)); |
- assertEquals("CONNECTED", bundle.getString(ConnectivityTask.CHROME_HTTPS_KEY)); |
- assertEquals("some description", mCollector.getDescription()); |
- assertEquals("bar", bundle.getString("foo")); |
- assertEquals(bitmap, mCollector.getScreenshot()); |
+ Assert.assertEquals("http://www.example.com/", bundle.getString(FeedbackCollector.URL_KEY)); |
+ Assert.assertEquals("CONNECTED", bundle.getString(ConnectivityTask.CHROME_HTTPS_KEY)); |
+ Assert.assertEquals("some description", mCollector.getDescription()); |
+ Assert.assertEquals("bar", bundle.getString("foo")); |
+ Assert.assertEquals(bitmap, mCollector.getScreenshot()); |
} |
+ @Test |
@SmallTest |
@Feature({"Feedback"}) |
public void testGatheringOfDataTimesOut() throws InterruptedException { |
@@ -274,28 +286,30 @@ public class FeedbackCollectorTest extends ChromeActivityTestCaseBase<ChromeActi |
} |
}; |
mCollector = createCollector(null, callback); |
- assertFalse("Result should not be ready directly after creation.", hasResult.get()); |
+ Assert.assertFalse("Result should not be ready directly after creation.", hasResult.get()); |
ConnectivityTask.FeedbackData feedbackData = createFeedbackData(); |
// Set the feedback data on the connectivity task instead of through callback. |
mTestConnectivityTask.setFeedbackData(feedbackData); |
- assertFalse("Result should not be ready after connectivity data.", hasResult.get()); |
+ Assert.assertFalse("Result should not be ready after connectivity data.", hasResult.get()); |
Bitmap bitmap = createBitmap(); |
mCollector.onGotBitmap(bitmap); |
// This timeout task should trigger the callback. |
mCollector.setTimedOut(true); |
mCollector.maybePostResult(); |
- UiUtils.settleDownUI(getInstrumentation()); |
+ UiUtils.settleDownUI(InstrumentationRegistry.getInstrumentation()); |
// Wait until the callback has been called. |
- assertTrue("Failed to acquire semaphore.", semaphore.tryAcquire(1, TimeUnit.SECONDS)); |
- assertTrue("Result should be ready after retrieving all data.", hasResult.get()); |
+ Assert.assertTrue( |
+ "Failed to acquire semaphore.", semaphore.tryAcquire(1, TimeUnit.SECONDS)); |
+ Assert.assertTrue("Result should be ready after retrieving all data.", hasResult.get()); |
Bundle bundle = mCollector.getBundle(); |
- assertEquals("CONNECTED", bundle.getString(ConnectivityTask.CHROME_HTTPS_KEY)); |
- assertEquals(bitmap, mCollector.getScreenshot()); |
+ Assert.assertEquals("CONNECTED", bundle.getString(ConnectivityTask.CHROME_HTTPS_KEY)); |
+ Assert.assertEquals(bitmap, mCollector.getScreenshot()); |
} |
+ @Test |
@SmallTest |
@Feature({"Feedback"}) |
public void testGatheringOfDataAlwaysWaitForScreenshot() throws InterruptedException { |
@@ -309,29 +323,30 @@ public class FeedbackCollectorTest extends ChromeActivityTestCaseBase<ChromeActi |
} |
}; |
mCollector = createCollector(null, callback); |
- assertFalse("Result should not be ready directly after creation.", hasResult.get()); |
+ Assert.assertFalse("Result should not be ready directly after creation.", hasResult.get()); |
ConnectivityTask.FeedbackData feedbackData = createFeedbackData(); |
mCollector.onResult(feedbackData); |
- assertFalse("Result should not be ready after connectivity data.", hasResult.get()); |
+ Assert.assertFalse("Result should not be ready after connectivity data.", hasResult.get()); |
// This timeout task should not trigger the callback. |
mCollector.setTimedOut(true); |
mCollector.maybePostResult(); |
- UiUtils.settleDownUI(getInstrumentation()); |
- assertFalse("Result should not be ready after timeout.", hasResult.get()); |
+ UiUtils.settleDownUI(InstrumentationRegistry.getInstrumentation()); |
+ Assert.assertFalse("Result should not be ready after timeout.", hasResult.get()); |
// Trigger callback by finishing taking the screenshot. |
Bitmap bitmap = createBitmap(); |
mCollector.onGotBitmap(bitmap); |
// Wait until the callback has been called. |
- assertTrue("Failed to acquire semaphore.", semaphore.tryAcquire(1, TimeUnit.SECONDS)); |
- assertTrue("Result should be ready after retrieving all data.", hasResult.get()); |
+ Assert.assertTrue( |
+ "Failed to acquire semaphore.", semaphore.tryAcquire(1, TimeUnit.SECONDS)); |
+ Assert.assertTrue("Result should be ready after retrieving all data.", hasResult.get()); |
Bundle bundle = mCollector.getBundle(); |
// The FeedbackData should have been gathered from the ConnectivityTask directly. |
- assertEquals("CONNECTED", bundle.getString(ConnectivityTask.CHROME_HTTPS_KEY)); |
- assertEquals(bitmap, mCollector.getScreenshot()); |
+ Assert.assertEquals("CONNECTED", bundle.getString(ConnectivityTask.CHROME_HTTPS_KEY)); |
+ Assert.assertEquals(bitmap, mCollector.getScreenshot()); |
} |
private static ConnectivityTask.FeedbackData createFeedbackData() { |