Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3722)

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManagerTest.java

Issue 2858933002: Reland: Convert ChromeActivityTestCaseBase direct children to JUnit4 (Closed)
Patch Set: Patch takes out flaky tests Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManagerTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManagerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManagerTest.java
index 7b8c14bc6239c8b00a3ea2f748d120b09230a474..cb4421cba98001f62f549dbca43d501837354175 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManagerTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManagerTest.java
@@ -16,12 +16,20 @@ import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.graphics.Point;
import android.os.SystemClock;
+import android.support.test.InstrumentationRegistry;
import android.support.test.filters.SmallTest;
import android.text.TextUtils;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewConfiguration;
+import org.junit.After;
+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.ContextUtils;
import org.chromium.base.ThreadUtils;
import org.chromium.base.test.util.CallbackHelper;
@@ -34,6 +42,7 @@ import org.chromium.base.test.util.Restriction;
import org.chromium.base.test.util.RetryOnFailure;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeActivity;
+import org.chromium.chrome.browser.ChromeSwitches;
import org.chromium.chrome.browser.ChromeTabbedActivity;
import org.chromium.chrome.browser.compositor.bottombar.OverlayContentDelegate;
import org.chromium.chrome.browser.compositor.bottombar.OverlayContentProgressObserver;
@@ -54,7 +63,8 @@ import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tabmodel.EmptyTabModelSelectorObserver;
import org.chromium.chrome.browser.tabmodel.TabModelSelectorObserver;
import org.chromium.chrome.browser.tabmodel.TabModelUtils;
-import org.chromium.chrome.test.ChromeActivityTestCaseBase;
+import org.chromium.chrome.test.ChromeActivityTestRule;
+import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.chrome.test.util.ChromeRestriction;
import org.chromium.chrome.test.util.ChromeTabUtils;
import org.chromium.chrome.test.util.FullscreenTestUtils;
@@ -84,10 +94,17 @@ import java.util.concurrent.TimeoutException;
* Tests the Contextual Search Manager using instrumentation tests.
*/
// NOTE: Disable online detection so we we'll default to online on test bots with no network.
+@RunWith(ChromeJUnit4ClassRunner.class)
+@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE,
+ ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG,
+ ContextualSearchFieldTrial.ONLINE_DETECTION_DISABLED})
@Restriction(RESTRICTION_TYPE_NON_LOW_END_DEVICE)
-@CommandLineFlags.Add(ContextualSearchFieldTrial.ONLINE_DETECTION_DISABLED)
@RetryOnFailure
-public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<ChromeActivity> {
+public class ContextualSearchManagerTest {
+ @Rule
+ public ChromeActivityTestRule<ChromeActivity> mActivityTestRule =
+ new ChromeActivityTestRule<>(ChromeActivity.class);
+
private static final String TEST_PAGE =
"/chrome/test/data/android/contextualsearch/tap_test.html";
private static final int TEST_TIMEOUT = 15000;
@@ -116,14 +133,11 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
// State for an individual test.
FakeSlowResolveSearch mLatestSlowResolveSearch;
- public ContextualSearchManagerTest() {
- super(ChromeActivity.class);
- }
-
- @Override
- protected void setUp() throws Exception {
+ @Before
+ public void setUp() throws Exception {
// We have to set up the test server before starting the activity.
- mTestServer = EmbeddedTestServer.createAndStartServer(getInstrumentation().getContext());
+ mTestServer = EmbeddedTestServer.createAndStartServer(
+ InstrumentationRegistry.getInstrumentation().getContext());
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
@@ -131,11 +145,14 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
FirstRunStatus.setFirstRunFlowComplete(true);
}
});
- super.setUp();
-
- mManager = getActivity().getContextualSearchManager();
+ mActivityTestRule.startMainActivityWithURL(mTestServer.getURL(TEST_PAGE));
+ // There's a problem with immediate startup that causes flakes due to the page not being
+ // ready, so specify a startup-delay of 1000 for legacy behavior. See crbug.com/635661.
+ // TODO(donnd): find a better way to wait for page-ready, or at least reduce the delay!
+ Thread.sleep(ACTIVITY_STARTUP_DELAY_MS);
+ mManager = mActivityTestRule.getActivity().getContextualSearchManager();
- assertNotNull(mManager);
+ Assert.assertNotNull(mManager);
mPanel = mManager.getContextualSearchPanel();
mSelectionController = mManager.getSelectionController();
@@ -145,7 +162,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
mFakeServer = new ContextualSearchFakeServer(mPolicy, this, mManager,
mManager.getOverlayContentDelegate(), new OverlayContentProgressObserver(),
- getActivity());
+ mActivityTestRule.getActivity());
mPanel.setOverlayPanelContentFactory(mFakeServer);
mManager.setNetworkCommunicator(mFakeServer);
@@ -155,14 +172,14 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
IntentFilter filter = new IntentFilter(Intent.ACTION_VIEW);
filter.addCategory(Intent.CATEGORY_BROWSABLE);
filter.addDataScheme("market");
- mActivityMonitor = getInstrumentation().addMonitor(
+ mActivityMonitor = InstrumentationRegistry.getInstrumentation().addMonitor(
filter, new Instrumentation.ActivityResult(Activity.RESULT_OK, null), true);
- mDpToPx = getActivity().getResources().getDisplayMetrics().density;
+ mDpToPx = mActivityTestRule.getActivity().getResources().getDisplayMetrics().density;
}
- @Override
- protected void tearDown() throws Exception {
+ @After
+ public void tearDown() throws Exception {
mTestServer.stopAndDestroyServer();
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
@@ -170,7 +187,6 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
FirstRunStatus.setFirstRunFlowComplete(false);
}
});
- super.tearDown();
}
/**
@@ -183,7 +199,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
throws InterruptedException, TimeoutException {
mFakeServer.setIsOnline(isOnline);
final String testUrl = mTestServer.getURL(TEST_PAGE);
- final Tab tab = getActivity().getActivityTab();
+ final Tab tab = mActivityTestRule.getActivity().getActivityTab();
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
@@ -204,7 +220,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
*/
public void longPressNodeWithoutWaiting(String nodeId)
throws InterruptedException, TimeoutException {
- Tab tab = getActivity().getActivityTab();
+ Tab tab = mActivityTestRule.getActivity().getActivityTab();
DOMUtils.longPressNode(tab.getContentViewCore(), nodeId);
}
@@ -222,7 +238,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* @param nodeId A string containing the node ID.
*/
public void clickNode(String nodeId) throws InterruptedException, TimeoutException {
- Tab tab = getActivity().getActivityTab();
+ Tab tab = mActivityTestRule.getActivity().getActivityTab();
DOMUtils.clickNode(tab.getContentViewCore(), nodeId);
}
@@ -292,16 +308,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* @param runnable The Runnable.
*/
public void runOnMainSync(Runnable runnable) {
- getInstrumentation().runOnMainSync(runnable);
- }
-
- @Override
- public void startMainActivity() throws InterruptedException {
- startMainActivityWithURL(mTestServer.getURL(TEST_PAGE));
- // There's a problem with immediate startup that causes flakes due to the page not being
- // ready, so specify a startup-delay of 1000 for legacy behavior. See crbug.com/635661.
- // TODO(donnd): find a better way to wait for page-ready, or at least reduce the delay!
- Thread.sleep(ACTIVITY_STARTUP_DELAY_MS);
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(runnable);
}
//============================================================================================
@@ -460,10 +467,10 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
int startAdjust, int endAdjust, String contextLanguage, String thumbnailUrl,
String caption, String quickActionUri, int quickActionCategory) {
if (mFakeServer.getSearchTermRequested() != null) {
- getInstrumentation().runOnMainSync(new FakeResponseOnMainThread(isNetworkUnavailable,
- responseCode, searchTerm, displayText, alternateTerm, mid, doPreventPreload,
- startAdjust, endAdjust, contextLanguage, thumbnailUrl, caption,
- quickActionUri, quickActionCategory));
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(new FakeResponseOnMainThread(
+ isNetworkUnavailable, responseCode, searchTerm, displayText, alternateTerm, mid,
+ doPreventPreload, startAdjust, endAdjust, contextLanguage, thumbnailUrl,
+ caption, quickActionUri, quickActionCategory));
}
}
@@ -491,28 +498,28 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* Asserts that the Panel's ContentViewCore is created.
*/
private void assertContentViewCoreCreated() {
- assertNotNull(getPanelContentViewCore());
+ Assert.assertNotNull(getPanelContentViewCore());
}
/**
* Asserts that the Panel's ContentViewCore is not created.
*/
private void assertNoContentViewCore() {
- assertNull(getPanelContentViewCore());
+ Assert.assertNull(getPanelContentViewCore());
}
/**
* Asserts that the Panel's ContentViewCore is visible.
*/
private void assertContentViewCoreVisible() {
- assertTrue(isContentViewCoreVisible());
+ Assert.assertTrue(isContentViewCoreVisible());
}
/**
* Asserts that the Panel's ContentViewCore onShow() method was never called.
*/
private void assertNeverCalledContentViewCoreOnShow() {
- assertFalse(mFakeServer.didEverCallContentViewCoreOnShow());
+ Assert.assertFalse(mFakeServer.didEverCallContentViewCoreOnShow());
}
/**
@@ -520,7 +527,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
*/
private void assertContentViewCoreCreatedButNeverMadeVisible() {
assertContentViewCoreCreated();
- assertFalse(isContentViewCoreVisible());
+ Assert.assertFalse(isContentViewCoreVisible());
assertNeverCalledContentViewCoreOnShow();
}
@@ -578,7 +585,8 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* @param keycode The key's code.
*/
private void pressKey(int keycode) {
- KeyUtils.singleKeyEventActivity(getInstrumentation(), getActivity(), keycode);
+ KeyUtils.singleKeyEventActivity(InstrumentationRegistry.getInstrumentation(),
+ mActivityTestRule.getActivity(), keycode);
}
/**
@@ -605,14 +613,15 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
doesMatch = loadedUrl != null && loadedUrl.contains("q=" + searchTerm);
String message = loadedUrl == null ? "but there was no loaded URL!"
: "in URL: " + loadedUrl;
- assertTrue("Expected to find searchTerm '" + searchTerm + "', " + message, doesMatch);
+ Assert.assertTrue(
+ "Expected to find searchTerm '" + searchTerm + "', " + message, doesMatch);
}
/**
* Asserts that the given parameters are present in the most recently loaded URL.
*/
private void assertContainsParameters(String searchTerm, String alternateTerm) {
- assertTrue(mFakeServer.getSearchTermRequested() == null
+ Assert.assertTrue(mFakeServer.getSearchTermRequested() == null
|| mFakeServer.getLoadedUrl().contains(searchTerm)
&& mFakeServer.getLoadedUrl().contains(alternateTerm));
}
@@ -621,14 +630,14 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* Asserts that a Search Term has been requested.
*/
private void assertSearchTermRequested() {
- assertNotNull(mFakeServer.getSearchTermRequested());
+ Assert.assertNotNull(mFakeServer.getSearchTermRequested());
}
/**
* Asserts that there has not been any Search Term requested.
*/
private void assertSearchTermNotRequested() {
- assertNull(mFakeServer.getSearchTermRequested());
+ Assert.assertNull(mFakeServer.getSearchTermRequested());
}
/**
@@ -642,21 +651,21 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
PanelState panelState = mPanel.getPanelState();
success = panelState == PanelState.CLOSED || panelState == PanelState.UNDEFINED;
}
- assertTrue(success);
+ Assert.assertTrue(success);
}
/**
* Asserts that the panel is currently in the "peeking" state (just showing the Bar).
*/
private void assertPanelPeeked() {
- assertTrue(mPanel.getPanelState() == PanelState.PEEKED);
+ Assert.assertTrue(mPanel.getPanelState() == PanelState.PEEKED);
}
/**
* Asserts that no URL has been loaded in the Overlay Panel.
*/
private void assertLoadedNoUrl() {
- assertTrue("Requested a search or preload when none was expected!",
+ Assert.assertTrue("Requested a search or preload when none was expected!",
mFakeServer.getLoadedUrl() == null);
}
@@ -666,9 +675,10 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
private void assertLoadedLowPriorityUrl() {
String message = "Expected a low priority search request URL, but got "
+ (mFakeServer.getLoadedUrl() != null ? mFakeServer.getLoadedUrl() : "null");
- assertTrue(message, mFakeServer.getLoadedUrl() != null
- && mFakeServer.getLoadedUrl().contains(LOW_PRIORITY_SEARCH_ENDPOINT));
- assertTrue("Low priority request does not have the required prefetch parameter!",
+ Assert.assertTrue(message,
+ mFakeServer.getLoadedUrl() != null
+ && mFakeServer.getLoadedUrl().contains(LOW_PRIORITY_SEARCH_ENDPOINT));
+ Assert.assertTrue("Low priority request does not have the required prefetch parameter!",
mFakeServer.getLoadedUrl() != null
&& mFakeServer.getLoadedUrl().contains(CONTEXTUAL_SEARCH_PREFETCH_PARAM));
}
@@ -680,10 +690,11 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
private void assertLoadedLowPriorityInvalidUrl() {
String message = "Expected a low priority invalid search request URL, but got "
+ (String.valueOf(mFakeServer.getLoadedUrl()));
- assertTrue(message, mFakeServer.getLoadedUrl() != null
+ Assert.assertTrue(message,
+ mFakeServer.getLoadedUrl() != null
&& mFakeServer.getLoadedUrl().contains(
LOW_PRIORITY_INVALID_SEARCH_ENDPOINT));
- assertTrue("Low priority request does not have the required prefetch parameter!",
+ Assert.assertTrue("Low priority request does not have the required prefetch parameter!",
mFakeServer.getLoadedUrl() != null
&& mFakeServer.getLoadedUrl().contains(CONTEXTUAL_SEARCH_PREFETCH_PARAM));
}
@@ -694,9 +705,11 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
private void assertLoadedNormalPriorityUrl() {
String message = "Expected a normal priority search request URL, but got "
+ (mFakeServer.getLoadedUrl() != null ? mFakeServer.getLoadedUrl() : "null");
- assertTrue(message, mFakeServer.getLoadedUrl() != null
- && mFakeServer.getLoadedUrl().contains(NORMAL_PRIORITY_SEARCH_ENDPOINT));
- assertTrue("Normal priority request should not have the prefetch parameter, but did!",
+ Assert.assertTrue(message,
+ mFakeServer.getLoadedUrl() != null
+ && mFakeServer.getLoadedUrl().contains(NORMAL_PRIORITY_SEARCH_ENDPOINT));
+ Assert.assertTrue(
+ "Normal priority request should not have the prefetch parameter, but did!",
mFakeServer.getLoadedUrl() != null
&& !mFakeServer.getLoadedUrl().contains(CONTEXTUAL_SEARCH_PREFETCH_PARAM));
}
@@ -705,7 +718,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* Asserts that no URLs have been loaded in the Overlay Panel since the last {@link reset}.
*/
private void assertNoSearchesLoaded() {
- assertEquals(0, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(0, mFakeServer.getLoadedUrlCount());
assertLoadedNoUrl();
}
@@ -713,16 +726,16 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* Asserts that the tap triggered promo counter is enabled and at the specified count.
*/
private void assertTapPromoCounterEnabledAt(int expectedCount) {
- assertTrue(mPolicy.getPromoTapCounter().isEnabled());
- assertEquals(expectedCount, mPolicy.getPromoTapCounter().getCount());
+ Assert.assertTrue(mPolicy.getPromoTapCounter().isEnabled());
+ Assert.assertEquals(expectedCount, mPolicy.getPromoTapCounter().getCount());
}
/**
* Asserts that the tap triggered promo counter is disabled and at the specified count.
*/
private void assertTapPromoCounterDisabledAt(int expectedCount) {
- assertFalse(mPolicy.getPromoTapCounter().isEnabled());
- assertEquals(expectedCount, mPolicy.getPromoTapCounter().getCount());
+ Assert.assertFalse(mPolicy.getPromoTapCounter().isEnabled());
+ Assert.assertEquals(expectedCount, mPolicy.getPromoTapCounter().getCount());
}
/**
@@ -796,7 +809,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
Thread.sleep(DEFAULT_POLLING_INTERVAL);
didChangeState = mPanel.getPanelState() != initialState;
}
- assertFalse(didChangeState);
+ Assert.assertFalse(didChangeState);
}
/**
@@ -825,7 +838,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
waitForGestureProcessing();
waitForPanelToClose();
assertPanelClosedOrUndefined();
- assertTrue(TextUtils.isEmpty(getSelectedText()));
+ Assert.assertTrue(TextUtils.isEmpty(getSelectedText()));
}
/**
@@ -866,15 +879,16 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
*/
private void fling(float startX, float startY, float endX, float endY, int stepCount) {
Point size = new Point();
- getActivity().getWindowManager().getDefaultDisplay().getSize(size);
+ mActivityTestRule.getActivity().getWindowManager().getDefaultDisplay().getSize(size);
float dragStartX = size.x * startX;
float dragEndX = size.x * endX;
float dragStartY = size.y * startY;
float dragEndY = size.y * endY;
long downTime = SystemClock.uptimeMillis();
- dragStart(dragStartX, dragStartY, downTime);
- dragTo(dragStartX, dragEndX, dragStartY, dragEndY, stepCount, downTime);
- dragEnd(dragEndX, dragEndY, downTime);
+ TouchCommon.dragStart(mActivityTestRule.getActivity(), dragStartX, dragStartY, downTime);
+ TouchCommon.dragTo(mActivityTestRule.getActivity(), dragStartX, dragEndX, dragStartY,
+ dragEndY, stepCount, downTime);
+ TouchCommon.dragEnd(mActivityTestRule.getActivity(), dragEndX, dragEndY, downTime);
}
/**
@@ -883,19 +897,21 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
*/
private void swipe(float startX, float startY, float endX, float endY, int stepCount) {
Point size = new Point();
- getActivity().getWindowManager().getDefaultDisplay().getSize(size);
+ mActivityTestRule.getActivity().getWindowManager().getDefaultDisplay().getSize(size);
float dragStartX = size.x * startX;
float dragEndX = size.x * endX;
float dragStartY = size.y * startY;
float dragEndY = size.y * endY;
int halfCount = stepCount / 2;
long downTime = SystemClock.uptimeMillis();
- dragStart(dragStartX, dragStartY, downTime);
- dragTo(dragStartX, dragEndX, dragStartY, dragEndY, halfCount, downTime);
+ TouchCommon.dragStart(mActivityTestRule.getActivity(), dragStartX, dragStartY, downTime);
+ TouchCommon.dragTo(mActivityTestRule.getActivity(), dragStartX, dragEndX, dragStartY,
+ dragEndY, halfCount, downTime);
// Generate events in the stationary end position in order to simulate a "pause" in
// the movement, therefore preventing this gesture from being interpreted as a fling.
- dragTo(dragEndX, dragEndX, dragEndY, dragEndY, halfCount, downTime);
- dragEnd(dragEndX, dragEndY, downTime);
+ TouchCommon.dragTo(mActivityTestRule.getActivity(), dragEndX, dragEndX, dragEndY, dragEndY,
+ halfCount, downTime);
+ TouchCommon.dragEnd(mActivityTestRule.getActivity(), dragEndX, dragEndY, downTime);
}
/**
@@ -949,7 +965,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* Taps the base page at the given x, y position.
*/
private void tapBasePage(float x, float y) {
- View root = getActivity().getWindow().getDecorView().getRootView();
+ View root = mActivityTestRule.getActivity().getWindow().getDecorView().getRootView();
x *= root.getWidth();
y *= root.getHeight();
TouchCommon.singleClickView(root, (int) x, (int) y);
@@ -977,7 +993,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* TODO(donnd): Replace this method with panelBarClick since this appears to be unreliable.
*/
private void clickPanelBar() {
- View root = getActivity().getWindow().getDecorView().getRootView();
+ View root = mActivityTestRule.getActivity().getWindow().getDecorView().getRootView();
float tapX = ((mPanel.getOffsetX() + mPanel.getWidth()) / 2f) * mDpToPx;
float tapY = (mPanel.getOffsetY() + (mPanel.getBarContainerHeight() / 2f)) * mDpToPx;
@@ -1057,7 +1073,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* @throws InterruptedException
*/
private void forcePanelToHandleBarClick() throws InterruptedException {
- getInstrumentation().runOnMainSync(new Runnable() {
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {
@Override
public void run() {
// TODO(donnd): provide better time and x,y data to make this more broadly useful.
@@ -1071,7 +1087,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* @throws InterruptedException
*/
private void closePanel() throws InterruptedException {
- getInstrumentation().runOnMainSync(new Runnable() {
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {
@Override
public void run() {
mPanel.closePanel(StateChangeReason.UNKNOWN, false);
@@ -1095,16 +1111,18 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
*/
//@SmallTest
//@Feature({"ContextualSearch"})
+ @Test
@DisabledTest
public void testHidesWhenOmniboxFocused() throws InterruptedException, TimeoutException {
clickWordNode("intelligence");
- assertEquals("Intelligence", mFakeServer.getSearchTermRequested());
+ Assert.assertEquals("Intelligence", mFakeServer.getSearchTermRequested());
fakeResponse(false, 200, "Intelligence", "display-text", "alternate-term", false);
assertContainsParameters("Intelligence", "alternate-term");
waitForPanelToPeek();
- OmniboxTestUtils.toggleUrlBarFocus((UrlBar) getActivity().findViewById(R.id.url_bar), true);
+ OmniboxTestUtils.toggleUrlBarFocus(
+ (UrlBar) mActivityTestRule.getActivity().findViewById(R.id.url_bar), true);
assertPanelClosedOrUndefined();
}
@@ -1112,53 +1130,56 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests the doesContainAWord method.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testDoesContainAWord() {
- assertTrue(mSelectionController.doesContainAWord("word"));
- assertTrue(mSelectionController.doesContainAWord("word "));
- assertFalse("Emtpy string should not be considered a word!",
+ Assert.assertTrue(mSelectionController.doesContainAWord("word"));
+ Assert.assertTrue(mSelectionController.doesContainAWord("word "));
+ Assert.assertFalse("Emtpy string should not be considered a word!",
mSelectionController.doesContainAWord(""));
- assertFalse("Special symbols should not be considered a word!",
+ Assert.assertFalse("Special symbols should not be considered a word!",
mSelectionController.doesContainAWord("@"));
- assertFalse("White space should not be considered a word",
+ Assert.assertFalse("White space should not be considered a word",
mSelectionController.doesContainAWord(" "));
- assertTrue(mSelectionController.doesContainAWord("Q2"));
- assertTrue(mSelectionController.doesContainAWord("123"));
+ Assert.assertTrue(mSelectionController.doesContainAWord("Q2"));
+ Assert.assertTrue(mSelectionController.doesContainAWord("123"));
}
/**
* Tests the isValidSelection method.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testIsValidSelection() {
- StubbedContentViewCore stubbedCvc = new StubbedContentViewCore(
- getActivity().getBaseContext());
- assertTrue(mSelectionController.isValidSelection("valid", stubbedCvc));
- assertFalse(mSelectionController.isValidSelection(" ", stubbedCvc));
+ StubbedContentViewCore stubbedCvc =
+ new StubbedContentViewCore(mActivityTestRule.getActivity().getBaseContext());
+ Assert.assertTrue(mSelectionController.isValidSelection("valid", stubbedCvc));
+ Assert.assertFalse(mSelectionController.isValidSelection(" ", stubbedCvc));
stubbedCvc.setIsFocusedNodeEditableForTest(true);
- assertFalse(mSelectionController.isValidSelection("editable", stubbedCvc));
+ Assert.assertFalse(mSelectionController.isValidSelection("editable", stubbedCvc));
stubbedCvc.setIsFocusedNodeEditableForTest(false);
String numberString = "0123456789";
StringBuilder longStringBuilder = new StringBuilder();
for (int i = 0; i < 11; i++) {
longStringBuilder.append(numberString);
}
- assertTrue(mSelectionController.isValidSelection(numberString, stubbedCvc));
- assertFalse(mSelectionController.isValidSelection(longStringBuilder.toString(),
- stubbedCvc));
+ Assert.assertTrue(mSelectionController.isValidSelection(numberString, stubbedCvc));
+ Assert.assertFalse(
+ mSelectionController.isValidSelection(longStringBuilder.toString(), stubbedCvc));
}
/**
* Tests a simple Tap.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testTap() throws InterruptedException, TimeoutException {
clickWordNode("intelligence");
- assertEquals("Intelligence", mFakeServer.getSearchTermRequested());
+ Assert.assertEquals("Intelligence", mFakeServer.getSearchTermRequested());
fakeResponse(false, 200, "Intelligence", "display-text", "alternate-term", false);
assertContainsParameters("Intelligence", "alternate-term");
waitForPanelToPeek();
@@ -1168,12 +1189,13 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests a simple Long-Press gesture, without opening the panel.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testLongPress() throws InterruptedException, TimeoutException {
longPressNode("states");
- assertNull(mFakeServer.getSearchTermRequested());
+ Assert.assertNull(mFakeServer.getSearchTermRequested());
waitForPanelToPeek();
assertLoadedNoUrl();
assertNoContentViewCore();
@@ -1182,6 +1204,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests swiping the overlay open, after an initial tap that activates the peeking card.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
@Restriction(ChromeRestriction.RESTRICTION_TYPE_PHONE)
@@ -1194,13 +1217,13 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
fakeResponse(false, 200, "Intelligence", "United States Intelligence", "alternate-term",
false);
assertContainsParameters("Intelligence", "alternate-term");
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
assertLoadedLowPriorityUrl();
waitForPanelToPeek();
flingPanelUp();
waitForPanelToExpand();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
assertLoadedLowPriorityUrl();
}
@@ -1210,6 +1233,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* This test also verifies that we don't create any {@link ContentViewCore} or load any URL
* until the panel is opened.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
@Restriction(ChromeRestriction.RESTRICTION_TYPE_PHONE)
@@ -1221,17 +1245,18 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
tapPeekingBarToExpandAndAssert();
assertContentViewCoreCreated();
assertLoadedNormalPriorityUrl();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
// tap the base page to close.
closePanel();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
assertNoContentViewCore();
}
/**
* Tests that only a single low-priority request is issued for a Tap/Open sequence.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testTapCausesOneLowPriorityRequest() throws InterruptedException, TimeoutException {
@@ -1240,26 +1265,27 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
// We should not make a second-request until we get a good response from the first-request.
assertLoadedNoUrl();
- assertEquals(0, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(0, mFakeServer.getLoadedUrlCount());
fakeResponse(false, 200, "states", "United States Intelligence", "alternate-term", false);
assertLoadedLowPriorityUrl();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
// When the second request succeeds, we should not issue a new request.
fakeContentViewDidNavigate(false);
assertLoadedLowPriorityUrl();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
// When the bar opens, we should not make any additional request.
tapPeekingBarToExpandAndAssert();
assertLoadedLowPriorityUrl();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
assertLoadedLowPriorityUrl();
}
/**
* Tests that a failover for a prefetch request is issued after the panel is opened.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testPrefetchFailoverRequestMadeAfterOpen()
@@ -1269,26 +1295,27 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
// We should not make a SERP request until we get a good response from the resolve request.
assertLoadedNoUrl();
- assertEquals(0, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(0, mFakeServer.getLoadedUrlCount());
fakeResponse(false, 200, "states", "United States Intelligence", "alternate-term", false);
assertLoadedLowPriorityUrl();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
// When the second request fails, we should not automatically issue a new request.
fakeContentViewDidNavigate(true);
assertLoadedLowPriorityUrl();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
// Once the bar opens, we make a new request at normal priority.
tapPeekingBarToExpandAndAssert();
assertLoadedNormalPriorityUrl();
- assertEquals(2, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(2, mFakeServer.getLoadedUrlCount());
}
/**
* Tests that a live request that fails (for an invalid URL) does a failover to a
* normal priority request once the user triggers the failover by opening the panel.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testLivePrefetchFailoverRequestMadeAfterOpen()
@@ -1297,10 +1324,10 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
mFakeServer.setLowPriorityPathInvalid();
simulateTapSearch("search");
assertLoadedLowPriorityInvalidUrl();
- assertTrue(mFakeServer.didAttemptLoadInvalidUrl());
+ Assert.assertTrue(mFakeServer.didAttemptLoadInvalidUrl());
// we should not automatically issue a new request.
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
// Fake a navigation error if offline.
// When connected to the Internet this error may already have happened due to actually
@@ -1314,12 +1341,13 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
// Once the bar opens, we make a new request at normal priority.
tapPeekingBarToExpandAndAssert();
waitForNormalPriorityUrlLoaded();
- assertEquals(2, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(2, mFakeServer.getLoadedUrlCount());
}
/**
* Tests a simple Tap with disable-preload set.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testTapDisablePreload() throws InterruptedException, TimeoutException {
@@ -1335,11 +1363,12 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests that long-press selects text, and a subsequent tap will unselect text.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testLongPressGestureSelects() throws InterruptedException, TimeoutException {
longPressNode("intelligence");
- assertEquals("Intelligence", getSelectedText());
+ Assert.assertEquals("Intelligence", getSelectedText());
fakeResponse(false, 200, "Intelligence", "Intelligence", "alternate-term", false);
assertContainsParameters("Intelligence", "alternate-term");
waitForPanelToPeek();
@@ -1347,37 +1376,39 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
clickNode("question-mark");
waitForGestureProcessing();
waitForPanelToCloseAndSelectionEmpty();
- assertTrue(TextUtils.isEmpty(getSelectedText()));
+ Assert.assertTrue(TextUtils.isEmpty(getSelectedText()));
assertLoadedNoUrl();
}
/**
* Tests that a Tap gesture selects the expected text.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testTapGestureSelects() throws InterruptedException, TimeoutException {
clickWordNode("intelligence");
- assertEquals("Intelligence", getSelectedText());
+ Assert.assertEquals("Intelligence", getSelectedText());
fakeResponse(false, 200, "Intelligence", "Intelligence", "alternate-term", false);
assertContainsParameters("Intelligence", "alternate-term");
waitForPanelToPeek();
assertLoadedLowPriorityUrl();
clickNode("question-mark");
waitForPanelToClose();
- assertNull(getSelectedText());
+ Assert.assertNull(getSelectedText());
}
/**
* Tests that a Tap gesture on a special character does not select or show the panel.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testTapGestureOnSpecialCharacterDoesntSelect()
throws InterruptedException, TimeoutException {
clickNode("question-mark");
waitForGestureProcessing();
- assertNull(getSelectedText());
+ Assert.assertNull(getSelectedText());
assertPanelClosedOrUndefined();
assertLoadedNoUrl();
}
@@ -1385,6 +1416,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests that a Tap gesture followed by scrolling clears the selection.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testTapGestureFollowedByScrollClearsSelection()
@@ -1396,12 +1428,13 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
assertLoadedLowPriorityUrl();
scrollBasePage();
assertPanelClosedOrUndefined();
- assertTrue(TextUtils.isEmpty(mSelectionController.getSelectedText()));
+ Assert.assertTrue(TextUtils.isEmpty(mSelectionController.getSelectedText()));
}
/**
* Tests that a Tap gesture followed by tapping an invalid character doesn't select.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testTapGestureFollowedByInvalidTextTapCloses()
@@ -1410,7 +1443,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
waitForPanelToPeek();
clickNode("question-mark");
waitForPanelToClose();
- assertNull(mSelectionController.getSelectedText());
+ Assert.assertNull(mSelectionController.getSelectedText());
}
/**
@@ -1419,6 +1452,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* @Feature({"ContextualSearch"})
* crbug.com/665633
*/
+ @Test
@DisabledTest
public void testTapGestureFollowedByNonTextTap() throws InterruptedException, TimeoutException {
clickWordNode("states-far");
@@ -1430,30 +1464,32 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests that a Tap gesture far away toggles selecting text.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testTapGestureFarAwayTogglesSelecting()
throws InterruptedException, TimeoutException {
clickWordNode("states");
- assertEquals("States", getSelectedText());
+ Assert.assertEquals("States", getSelectedText());
waitForPanelToPeek();
clickNode("states-far");
waitForPanelToClose();
- assertNull(getSelectedText());
+ Assert.assertNull(getSelectedText());
clickNode("states-far");
waitForGestureProcessing();
waitForPanelToPeek();
- assertEquals("States", getSelectedText());
+ Assert.assertEquals("States", getSelectedText());
}
/**
* Tests that sequential Tap gestures nearby keep selecting.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testTapGesturesNearbyKeepSelecting() throws InterruptedException, TimeoutException {
clickWordNode("states");
- assertEquals("States", getSelectedText());
+ Assert.assertEquals("States", getSelectedText());
waitForPanelToPeek();
// Avoid issues with double-tap detection by ensuring sequential taps
// aren't treated as such. Double-tapping can also select words much as
@@ -1474,6 +1510,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests that a long-press gesture followed by scrolling does not clear the selection.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testLongPressGestureFollowedByScrollMaintainsSelection()
@@ -1482,13 +1519,14 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
waitForPanelToPeek();
scrollBasePage();
assertPanelClosedOrUndefined();
- assertEquals("Intelligence", getSelectedText());
+ Assert.assertEquals("Intelligence", getSelectedText());
assertLoadedNoUrl();
}
/**
* Tests that a long-press gesture followed by a tap does not select.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testLongPressGestureFollowedByTapDoesntSelect()
@@ -1503,18 +1541,20 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests that the panel closes when its base page crashes.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testContextualSearchDismissedOnForegroundTabCrash()
throws InterruptedException, TimeoutException {
clickWordNode("states");
- assertEquals("States", getSelectedText());
+ Assert.assertEquals("States", getSelectedText());
waitForPanelToPeek();
ThreadUtils.runOnUiThread(new Runnable() {
@Override
public void run() {
- getActivity().getActivityTab().simulateRendererKilledForTesting(true);
+ mActivityTestRule.getActivity().getActivityTab().simulateRendererKilledForTesting(
+ true);
}
});
@@ -1533,25 +1573,27 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Test the the panel does not close when some background tab crashes.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testContextualSearchNotDismissedOnBackgroundTabCrash()
throws InterruptedException, TimeoutException {
- ChromeTabUtils.newTabFromMenu(getInstrumentation(),
- (ChromeTabbedActivity) getActivity());
- final Tab tab2 = TabModelUtils.getCurrentTab(getActivity().getCurrentTabModel());
+ ChromeTabUtils.newTabFromMenu(InstrumentationRegistry.getInstrumentation(),
+ (ChromeTabbedActivity) mActivityTestRule.getActivity());
+ final Tab tab2 =
+ TabModelUtils.getCurrentTab(mActivityTestRule.getActivity().getCurrentTabModel());
// TODO(donnd): consider using runOnUiThreadBlocking, won't need to waitForIdleSync?
ThreadUtils.runOnUiThread(new Runnable() {
@Override
public void run() {
- TabModelUtils.setIndex(getActivity().getCurrentTabModel(), 0);
+ TabModelUtils.setIndex(mActivityTestRule.getActivity().getCurrentTabModel(), 0);
}
});
- getInstrumentation().waitForIdleSync();
+ InstrumentationRegistry.getInstrumentation().waitForIdleSync();
clickWordNode("states");
- assertEquals("States", getSelectedText());
+ Assert.assertEquals("States", getSelectedText());
waitForPanelToPeek();
ThreadUtils.runOnUiThread(new Runnable() {
@@ -1568,6 +1610,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* Test that tapping on the Search Bar before having a resolved search term does not
* promote to a tab, and that after the resolution it does promote to a tab.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testTapSearchBarPromotesToTab() throws InterruptedException, TimeoutException {
@@ -1581,7 +1624,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
tabCreatedHelper.notifyCalled();
}
};
- getActivity().getTabModelSelector().addObserver(observer);
+ mActivityTestRule.getActivity().getTabModelSelector().addObserver(observer);
// -------- TEST ---------
// Start a slow-resolve search and maximize the Panel.
@@ -1608,12 +1651,13 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
tabCreatedHelper.waitForCallback(tabCreatedHelperCallCount);
// -------- CLEAN UP ---------
- getActivity().getTabModelSelector().removeObserver(observer);
+ mActivityTestRule.getActivity().getTabModelSelector().removeObserver(observer);
}
/**
* Tests that a Tap gesture on an element with an ARIA role does not trigger.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testTapOnRoleIgnored() throws InterruptedException, TimeoutException {
@@ -1626,6 +1670,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* Tests that a Tap gesture on an element with an ARIA attribute does not trigger.
* http://crbug.com/542874
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testTapOnARIAIgnored() throws InterruptedException, TimeoutException {
@@ -1637,6 +1682,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests that a Tap gesture on an element that is focusable does not trigger.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testTapOnFocusableIgnored() throws InterruptedException, TimeoutException {
@@ -1648,6 +1694,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests that taps can be resolve and prefetch limited for decided users.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
@Restriction(ChromeRestriction.RESTRICTION_TYPE_PHONE)
@@ -1677,6 +1724,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests that taps can be resolve-limited for undecided users.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
@Restriction(ChromeRestriction.RESTRICTION_TYPE_PHONE)
@@ -1709,6 +1757,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* Tests expanding the panel before the search term has resolved, verifies that nothing
* loads until the resolve completes and that it's now a normal priority URL.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testExpandBeforeSearchTermResolution()
@@ -1732,6 +1781,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* Tests that an error from the Search Term Resolution request causes a fallback to a
* search request for the literal selection.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testSearchTermResolutionError() throws InterruptedException, TimeoutException {
@@ -1750,6 +1800,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests that HTTPS does not resolve in the opt-out model before the user accepts.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testHttpsBeforeAcceptForOptOut() throws InterruptedException, TimeoutException {
@@ -1764,6 +1815,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests that HTTPS does resolve in the opt-out model after the user accepts.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testHttpsAfterAcceptForOptOut() throws InterruptedException, TimeoutException {
@@ -1776,6 +1828,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests that HTTP does resolve in the opt-out model before the user accepts.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testHttpBeforeAcceptForOptOut() throws InterruptedException, TimeoutException {
@@ -1787,6 +1840,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests that HTTP does resolve in the opt-out model after the user accepts.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testHttpAfterAcceptForOptOut() throws InterruptedException, TimeoutException {
@@ -1814,7 +1868,9 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
Criteria.equals(isVisible, new Callable<Boolean>() {
@Override
public Boolean call() {
- return getActivity().getAppMenuHandler().isAppMenuShowing();
+ return mActivityTestRule.getActivity()
+ .getAppMenuHandler()
+ .isAppMenuShowing();
}
}));
}
@@ -1822,6 +1878,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests that the App Menu gets suppressed when Search Panel is expanded.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
@Restriction(ChromeRestriction.RESTRICTION_TYPE_PHONE)
@@ -1842,6 +1899,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests that the App Menu gets suppressed when Search Panel is maximized.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testAppMenuSuppressedWhenMaximized() throws InterruptedException, TimeoutException {
@@ -1868,6 +1926,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* the user has never ever opened the panel. Once the panel is opened, this limiting-feature
* is permanently disabled.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testPromoTapCount() throws InterruptedException, TimeoutException {
@@ -1912,6 +1971,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests the promo open counter.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
@Restriction(ChromeRestriction.RESTRICTION_TYPE_PHONE)
@@ -1921,25 +1981,26 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
// A simple click / resolve / prefetch sequence without open should not change the counter.
clickToTriggerPrefetch();
- assertEquals(0, mPolicy.getPromoOpenCount());
+ Assert.assertEquals(0, mPolicy.getPromoOpenCount());
// An open should count.
clickToExpandAndClosePanel();
- assertEquals(1, mPolicy.getPromoOpenCount());
+ Assert.assertEquals(1, mPolicy.getPromoOpenCount());
// Another open should count.
clickToExpandAndClosePanel();
- assertEquals(2, mPolicy.getPromoOpenCount());
+ Assert.assertEquals(2, mPolicy.getPromoOpenCount());
// Once the user has decided, we should stop counting.
mPolicy.overrideDecidedStateForTesting(true);
clickToExpandAndClosePanel();
- assertEquals(2, mPolicy.getPromoOpenCount());
+ Assert.assertEquals(2, mPolicy.getPromoOpenCount());
}
/**
* Tests the promo open counter.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
@Restriction(ChromeRestriction.RESTRICTION_TYPE_PHONE)
@@ -1949,7 +2010,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
// An open should not count for decided users.
clickToExpandAndClosePanel();
- assertEquals(0, mPolicy.getPromoOpenCount());
+ Assert.assertEquals(0, mPolicy.getPromoOpenCount());
}
// --------------------------------------------------------------------------------------------
@@ -1960,21 +2021,22 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* @SmallTest
* @Feature({"ContextualSearch"})
*/
+ @Test
@FlakyTest
public void testTapCount() throws InterruptedException, TimeoutException {
- assertEquals(0, mPolicy.getTapCount());
+ Assert.assertEquals(0, mPolicy.getTapCount());
// A simple Tap should change the counter.
clickToTriggerPrefetch();
- assertEquals(1, mPolicy.getTapCount());
+ Assert.assertEquals(1, mPolicy.getTapCount());
// Another Tap should increase the counter.
clickToTriggerPrefetch();
- assertEquals(2, mPolicy.getTapCount());
+ Assert.assertEquals(2, mPolicy.getTapCount());
// An open should reset the counter.
clickToExpandAndClosePanel();
- assertEquals(0, mPolicy.getTapCount());
+ Assert.assertEquals(0, mPolicy.getTapCount());
}
// --------------------------------------------------------------------------------------------
@@ -1996,6 +2058,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* Tests that ContextualSearchObserver gets notified when user brings up contextual search
* panel via long press and then dismisses the panel by tapping on the base page.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
@Restriction(ChromeRestriction.RESTRICTION_TYPE_PHONE)
@@ -2004,16 +2067,17 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
TestContextualSearchObserver observer = new TestContextualSearchObserver();
mManager.addObserver(observer);
longPressNode("states");
- assertEquals(0, observer.hideCount);
+ Assert.assertEquals(0, observer.hideCount);
tapBasePageToClosePanel();
- assertEquals(1, observer.hideCount);
+ Assert.assertEquals(1, observer.hideCount);
}
/**
* Tests that ContextualSearchObserver gets notified when user brings up contextual search
* panel via tap and then dismisses the panel by tapping on the base page.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
@Restriction(ChromeRestriction.RESTRICTION_TYPE_PHONE)
@@ -2021,10 +2085,10 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
TestContextualSearchObserver observer = new TestContextualSearchObserver();
mManager.addObserver(observer);
clickWordNode("states");
- assertEquals(0, observer.hideCount);
+ Assert.assertEquals(0, observer.hideCount);
tapBasePageToClosePanel();
- assertEquals(1, observer.hideCount);
+ Assert.assertEquals(1, observer.hideCount);
}
/**
@@ -2037,7 +2101,9 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
CriteriaHelper.pollUiThread(Criteria.equals(visible, new Callable<Boolean>() {
@Override
public Boolean call() {
- return getActivity().getActivityTab().getContentViewCore()
+ return mActivityTestRule.getActivity()
+ .getActivityTab()
+ .getContentViewCore()
.isSelectActionBarShowing();
}
}));
@@ -2047,6 +2113,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* Tests that ContextualSearchObserver gets notified when user brings up contextual search
* panel via long press and then dismisses the panel by tapping copy (hide select action mode).
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testNotifyObserverHideOnClearSelectionAfterTap()
@@ -2054,10 +2121,11 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
TestContextualSearchObserver observer = new TestContextualSearchObserver();
mManager.addObserver(observer);
longPressNode("states");
- assertEquals(0, observer.hideCount);
+ Assert.assertEquals(0, observer.hideCount);
// Dismiss select action mode.
- final ContentViewCore contentViewCore = getActivity().getActivityTab().getContentViewCore();
+ final ContentViewCore contentViewCore =
+ mActivityTestRule.getActivity().getActivityTab().getContentViewCore();
assertWaitForSelectActionBarVisible(true);
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
@@ -2068,7 +2136,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
assertWaitForSelectActionBarVisible(false);
waitForPanelToClose();
- assertEquals(1, observer.hideCount);
+ Assert.assertEquals(1, observer.hideCount);
}
/**
@@ -2076,6 +2144,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* modified after the user has taken an action to explicitly dismiss the panel. Also tests
* that the panel reappears when a new selection is made.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testPreventHandlingCurrentSelectionModification()
@@ -2084,7 +2153,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
// Dismiss the Contextual Search panel.
closePanel();
- assertEquals("Search", getSelectedText());
+ Assert.assertEquals("Search", getSelectedText());
// Simulate a selection change event and assert that the panel has not reappeared.
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@@ -2108,6 +2177,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* We've had reliability problems with a sequence of simple taps, due to async dissolving
* of selection bounds, so this helps prevent a regression with that.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testTapALot() throws InterruptedException, TimeoutException {
@@ -2124,36 +2194,37 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* Tests ContextualSearchManager#shouldInterceptNavigation for a case that an external
* navigation has a user gesture.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testExternalNavigationWithUserGesture() {
final ExternalNavigationHandler externalNavHandler =
- new ExternalNavigationHandler(getActivity().getActivityTab());
+ new ExternalNavigationHandler(mActivityTestRule.getActivity().getActivityTab());
final NavigationParams navigationParams = new NavigationParams(
"intent://test/#Intent;scheme=test;package=com.chrome.test;end", "",
false /* isPost */, true /* hasUserGesture */, PageTransition.LINK,
false /* isRedirect */, true /* isExternalProtocol */, true /* isMainFrame */,
false /* hasUserGestureCarryover */);
- getInstrumentation().runOnMainSync(new Runnable() {
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {
@Override
public void run() {
- assertFalse(
- mManager.getOverlayContentDelegate().shouldInterceptNavigation(
- externalNavHandler, navigationParams));
+ Assert.assertFalse(mManager.getOverlayContentDelegate().shouldInterceptNavigation(
+ externalNavHandler, navigationParams));
}
});
- assertEquals(1, mActivityMonitor.getHits());
+ Assert.assertEquals(1, mActivityMonitor.getHits());
}
/**
* Tests ContextualSearchManager#shouldInterceptNavigation for a case that an initial
* navigation has a user gesture but the redirected external navigation doesn't.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testRedirectedExternalNavigationWithUserGesture() {
final ExternalNavigationHandler externalNavHandler =
- new ExternalNavigationHandler(getActivity().getActivityTab());
+ new ExternalNavigationHandler(mActivityTestRule.getActivity().getActivityTab());
final NavigationParams initialNavigationParams = new NavigationParams("http://test.com", "",
false /* isPost */, true /* hasUserGesture */, PageTransition.LINK,
@@ -2165,44 +2236,45 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
true /* isRedirect */, true /* isExternalProtocol */, true /* isMainFrame */,
false /* hasUserGestureCarryover */);
- getInstrumentation().runOnMainSync(new Runnable() {
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {
@Override
public void run() {
OverlayContentDelegate delegate = mManager.getOverlayContentDelegate();
- assertTrue(delegate.shouldInterceptNavigation(
+ Assert.assertTrue(delegate.shouldInterceptNavigation(
externalNavHandler, initialNavigationParams));
- assertFalse(delegate.shouldInterceptNavigation(
+ Assert.assertFalse(delegate.shouldInterceptNavigation(
externalNavHandler, redirectedNavigationParams));
}
});
- assertEquals(1, mActivityMonitor.getHits());
+ Assert.assertEquals(1, mActivityMonitor.getHits());
}
/**
* Tests ContextualSearchManager#shouldInterceptNavigation for a case that an external
* navigation doesn't have a user gesture.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testExternalNavigationWithoutUserGesture() {
final ExternalNavigationHandler externalNavHandler =
- new ExternalNavigationHandler(getActivity().getActivityTab());
+ new ExternalNavigationHandler(mActivityTestRule.getActivity().getActivityTab());
final NavigationParams navigationParams = new NavigationParams(
"intent://test/#Intent;scheme=test;package=com.chrome.test;end", "",
false /* isPost */, false /* hasUserGesture */, PageTransition.LINK,
false /* isRedirect */, true /* isExternalProtocol */, true /* isMainFrame */,
false /* hasUserGestureCarryover */);
- getInstrumentation().runOnMainSync(new Runnable() {
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {
@Override
public void run() {
- assertFalse(
- mManager.getOverlayContentDelegate().shouldInterceptNavigation(
- externalNavHandler, navigationParams));
+ Assert.assertFalse(mManager.getOverlayContentDelegate().shouldInterceptNavigation(
+ externalNavHandler, navigationParams));
}
});
- assertEquals(0, mActivityMonitor.getHits());
+ Assert.assertEquals(0, mActivityMonitor.getHits());
}
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testSelectionExpansionOnSearchTermResolution()
@@ -2219,6 +2291,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests that long-press triggers the Peek Promo, and expanding the Panel dismisses it.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
@Restriction(ChromeRestriction.RESTRICTION_TYPE_PHONE)
@@ -2229,21 +2302,21 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
// Must be in undecided state in order to trigger the Peek Promo.
mPolicy.overrideDecidedStateForTesting(false);
// Must have never opened the Panel in order to trigger the Peek Promo.
- assertEquals(0, mPolicy.getPromoOpenCount());
+ Assert.assertEquals(0, mPolicy.getPromoOpenCount());
// Long press and make sure the Promo shows.
longPressNode("intelligence");
waitForPanelToPeek();
- assertTrue(mPanel.isPeekPromoVisible());
+ Assert.assertTrue(mPanel.isPeekPromoVisible());
// After expanding the Panel the Promo should be invisible.
flingPanelUp();
waitForPanelToExpand();
- assertFalse(mPanel.isPeekPromoVisible());
+ Assert.assertFalse(mPanel.isPeekPromoVisible());
// After closing the Panel the Promo should still be invisible.
tapBasePageToClosePanel();
- assertFalse(mPanel.isPeekPromoVisible());
+ Assert.assertFalse(mPanel.isPeekPromoVisible());
// Click elsewhere to clear the selection.
clickNode("question-mark");
@@ -2252,7 +2325,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
// Now that the Panel was opened at least once, the Promo should not show again.
longPressNode("intelligence");
waitForPanelToPeek();
- assertFalse(mPanel.isPeekPromoVisible());
+ Assert.assertFalse(mPanel.isPeekPromoVisible());
}
//============================================================================================
@@ -2262,6 +2335,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests that tap followed by expand makes Content visible.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
@Restriction(ChromeRestriction.RESTRICTION_TYPE_PHONE)
@@ -2283,6 +2357,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* Tests that long press followed by expand creates Content and makes it visible.
*
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
@Restriction(ChromeRestriction.RESTRICTION_TYPE_PHONE)
@@ -2305,6 +2380,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests swiping panel up and down after a tap search will only load the Content once.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
@Restriction(ChromeRestriction.RESTRICTION_TYPE_PHONE)
@@ -2313,33 +2389,34 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
// Simulate a tap and make sure Content is not visible.
simulateTapSearch("search");
assertContentViewCoreCreatedButNeverMadeVisible();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
// Expanding the Panel should make the Content visible.
tapPeekingBarToExpandAndAssert();
assertContentViewCoreVisible();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
// Swiping the Panel down should not change the visibility or load content again.
swipePanelDown();
waitForPanelToPeek();
assertContentViewCoreVisible();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
// Expanding the Panel should not change the visibility or load content again.
tapPeekingBarToExpandAndAssert();
assertContentViewCoreVisible();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
// Closing the Panel should destroy the Content.
tapBasePageToClosePanel();
assertNoContentViewCore();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
}
/**
* Tests swiping panel up and down after a long press search will only load the Content once.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
@Restriction(ChromeRestriction.RESTRICTION_TYPE_PHONE)
@@ -2354,35 +2431,36 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
tapPeekingBarToExpandAndAssert();
assertContentViewCoreCreated();
assertContentViewCoreVisible();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
// Swiping the Panel down should not change the visibility or load content again.
swipePanelDown();
waitForPanelToPeek();
assertContentViewCoreVisible();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
// Expanding the Panel should not change the visibility or load content again.
tapPeekingBarToExpandAndAssert();
assertContentViewCoreVisible();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
// Closing the Panel should destroy the Content.
tapBasePageToClosePanel();
assertNoContentViewCore();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
}
/**
* Tests that chained tap searches create new Content.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testChainedSearchCreatesNewContent() throws InterruptedException, TimeoutException {
// Simulate a tap and make sure Content is not visible.
simulateTapSearch("search");
assertContentViewCoreCreatedButNeverMadeVisible();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
ContentViewCore cvc1 = getPanelContentViewCore();
waitToPreventDoubleTapRecognition();
@@ -2390,28 +2468,29 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
// Simulate a new tap and make sure a new Content is created.
simulateTapSearch("term");
assertContentViewCoreCreatedButNeverMadeVisible();
- assertEquals(2, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(2, mFakeServer.getLoadedUrlCount());
ContentViewCore cvc2 = getPanelContentViewCore();
- assertNotSame(cvc1, cvc2);
+ Assert.assertNotSame(cvc1, cvc2);
waitToPreventDoubleTapRecognition();
// Simulate a new tap and make sure a new Content is created.
simulateTapSearch("resolution");
assertContentViewCoreCreatedButNeverMadeVisible();
- assertEquals(3, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(3, mFakeServer.getLoadedUrlCount());
ContentViewCore cvc3 = getPanelContentViewCore();
- assertNotSame(cvc2, cvc3);
+ Assert.assertNotSame(cvc2, cvc3);
// Closing the Panel should destroy the Content.
closePanel();
assertNoContentViewCore();
- assertEquals(3, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(3, mFakeServer.getLoadedUrlCount());
}
/**
* Tests that chained searches load correctly.
*/
+ @Test
@DisabledTest(message = "crbug.com/551711")
@SmallTest
@Feature({"ContextualSearch"})
@@ -2421,19 +2500,19 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
// Simulate a tap and make sure Content is not visible.
simulateTapSearch("search");
assertContentViewCoreCreatedButNeverMadeVisible();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
ContentViewCore cvc1 = getPanelContentViewCore();
// Expanding the Panel should make the Content visible.
tapPeekingBarToExpandAndAssert();
assertContentViewCoreVisible();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
// Swiping the Panel down should not change the visibility or load content again.
swipePanelDown();
waitForPanelToPeek();
assertContentViewCoreVisible();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
waitToPreventDoubleTapRecognition();
@@ -2444,27 +2523,28 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
tapPeekingBarToExpandAndAssert();
assertContentViewCoreCreated();
assertContentViewCoreVisible();
- assertEquals(2, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(2, mFakeServer.getLoadedUrlCount());
assertLoadedSearchTermMatches("Resolution");
ContentViewCore cvc2 = getPanelContentViewCore();
- assertNotSame(cvc1, cvc2);
+ Assert.assertNotSame(cvc1, cvc2);
// Closing the Panel should destroy the Content.
tapBasePageToClosePanel();
assertNoContentViewCore();
- assertEquals(2, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(2, mFakeServer.getLoadedUrlCount());
}
/**
* Tests that chained searches make Content visible when opening the Panel.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testChainedSearchContentVisibility() throws InterruptedException, TimeoutException {
// Simulate a tap and make sure Content is not visible.
simulateTapSearch("search");
assertContentViewCoreCreatedButNeverMadeVisible();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
ContentViewCore cvc1 = getPanelContentViewCore();
waitToPreventDoubleTapRecognition();
@@ -2472,16 +2552,16 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
// Now simulate a long press, leaving the Panel peeking.
simulateLongPressSearch("resolution");
assertNeverCalledContentViewCoreOnShow();
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
// Expanding the Panel should load and display the new search.
tapPeekingBarToExpandAndAssert();
assertContentViewCoreCreated();
assertContentViewCoreVisible();
- assertEquals(2, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(2, mFakeServer.getLoadedUrlCount());
assertLoadedSearchTermMatches("Resolution");
ContentViewCore cvc2 = getPanelContentViewCore();
- assertNotSame(cvc1, cvc2);
+ Assert.assertNotSame(cvc1, cvc2);
}
//============================================================================================
@@ -2491,31 +2571,33 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests that a tap followed by closing the Panel removes the loaded URL from history.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testTapCloseRemovedFromHistory() throws InterruptedException, TimeoutException {
// Simulate a tap and make sure a URL was loaded.
simulateTapSearch("search");
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
String url = mFakeServer.getLoadedUrl();
// Close the Panel without seeing the Content.
tapBasePageToClosePanel();
// Now check that the URL has been removed from history.
- assertTrue(mFakeServer.hasRemovedUrl(url));
+ Assert.assertTrue(mFakeServer.hasRemovedUrl(url));
}
/**
* Tests that a tap followed by opening the Panel does not remove the loaded URL from history.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
@Restriction(ChromeRestriction.RESTRICTION_TYPE_PHONE)
public void testTapExpandNotRemovedFromHistory() throws InterruptedException, TimeoutException {
// Simulate a tap and make sure a URL was loaded.
simulateTapSearch("search");
- assertEquals(1, mFakeServer.getLoadedUrlCount());
+ Assert.assertEquals(1, mFakeServer.getLoadedUrlCount());
String url = mFakeServer.getLoadedUrl();
// Expand Panel so that the Content becomes visible.
@@ -2525,42 +2607,43 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
tapBasePageToClosePanel();
// Now check that the URL has not been removed from history, since the Content was seen.
- assertFalse(mFakeServer.hasRemovedUrl(url));
+ Assert.assertFalse(mFakeServer.hasRemovedUrl(url));
}
/**
* Tests that chained searches without opening the Panel removes all loaded URLs from history.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testChainedTapsRemovedFromHistory() throws InterruptedException, TimeoutException {
// Simulate a tap and make sure a URL was loaded.
simulateTapSearch("search");
String url1 = mFakeServer.getLoadedUrl();
- assertNotNull(url1);
+ Assert.assertNotNull(url1);
waitToPreventDoubleTapRecognition();
// Simulate another tap and make sure another URL was loaded.
simulateTapSearch("term");
String url2 = mFakeServer.getLoadedUrl();
- assertNotSame(url1, url2);
+ Assert.assertNotSame(url1, url2);
waitToPreventDoubleTapRecognition();
// Simulate another tap and make sure another URL was loaded.
simulateTapSearch("resolution");
String url3 = mFakeServer.getLoadedUrl();
- assertNotSame(url2, url3);
+ Assert.assertNotSame(url2, url3);
// Close the Panel without seeing any Content.
closePanel();
// Now check that all three URLs have been removed from history.
- assertEquals(3, mFakeServer.getLoadedUrlCount());
- assertTrue(mFakeServer.hasRemovedUrl(url1));
- assertTrue(mFakeServer.hasRemovedUrl(url2));
- assertTrue(mFakeServer.hasRemovedUrl(url3));
+ Assert.assertEquals(3, mFakeServer.getLoadedUrlCount());
+ Assert.assertTrue(mFakeServer.hasRemovedUrl(url1));
+ Assert.assertTrue(mFakeServer.hasRemovedUrl(url2));
+ Assert.assertTrue(mFakeServer.hasRemovedUrl(url3));
}
//============================================================================================
@@ -2570,6 +2653,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests that a simple Tap with language determination triggers translation.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testTapWithLanguage() throws InterruptedException, TimeoutException {
@@ -2577,7 +2661,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
simulateTapSearch("german");
// Make sure we tried to trigger translate.
- assertTrue("Translation was not forced with the current request URL: "
+ Assert.assertTrue("Translation was not forced with the current request URL: "
+ mManager.getRequest().getSearchUrl(),
mManager.getRequest().isTranslationForced());
}
@@ -2585,6 +2669,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests translation with a simple Tap can be disabled.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
@CommandLineFlags.Add(ContextualSearchFieldTrial.DISABLE_TRANSLATION + "=true")
@@ -2593,12 +2678,13 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
simulateTapSearch("german");
// Make sure we did not try to trigger translate.
- assertFalse(mManager.getRequest().isTranslationForced());
+ Assert.assertFalse(mManager.getRequest().isTranslationForced());
}
/**
* Tests that a simple Tap without language determination does not trigger translation.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testTapWithoutLanguage() throws InterruptedException, TimeoutException {
@@ -2606,12 +2692,13 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
simulateTapSearch("search");
// Make sure we did not try to trigger translate.
- assertFalse(mManager.getRequest().isTranslationForced());
+ Assert.assertFalse(mManager.getRequest().isTranslationForced());
}
/**
* Tests that a long-press does trigger translation.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testLongpressTranslates() throws InterruptedException, TimeoutException {
@@ -2619,12 +2706,13 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
simulateLongPressSearch("search");
// Make sure we did try to trigger translate.
- assertTrue(mManager.getRequest().isTranslationForced());
+ Assert.assertTrue(mManager.getRequest().isTranslationForced());
}
/**
* Tests that a long-press does NOT trigger translation when disabled.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
@CommandLineFlags.Add(ContextualSearchFieldTrial.DISABLE_TRANSLATION + "=true")
@@ -2634,7 +2722,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
simulateLongPressSearch("search");
// Make sure we did not try to trigger translate.
- assertFalse(mManager.getRequest().isTranslationForced());
+ Assert.assertFalse(mManager.getRequest().isTranslationForced());
}
/**
@@ -2642,22 +2730,25 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* peeks the panel, expanding the bar results in the bar ending at the correct spot in the page
* and tapping the base page closes the panel.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
@Restriction(ChromeRestriction.RESTRICTION_TYPE_PHONE)
public void testTapContentAndExpandPanelInFullscreen()
throws InterruptedException, TimeoutException {
// Toggle tab to fulllscreen.
- FullscreenTestUtils.togglePersistentFullscreenAndAssert(getActivity().getActivityTab(),
- true, getActivity());
+ FullscreenTestUtils.togglePersistentFullscreenAndAssert(
+ mActivityTestRule.getActivity().getActivityTab(), true,
+ mActivityTestRule.getActivity());
// Simulate a tap and assert that the panel peeks.
simulateTapSearch("search");
// Expand the panel and assert that it ends up in the right place.
tapPeekingBarToExpandAndAssert();
- assertEquals(mManager.getContextualSearchPanel().getHeight(),
- mManager.getContextualSearchPanel().getPanelHeightFromState(PanelState.EXPANDED));
+ Assert.assertEquals(mManager.getContextualSearchPanel().getHeight(),
+ mManager.getContextualSearchPanel().getPanelHeightFromState(PanelState.EXPANDED),
+ 0);
// Tap the base page and assert that the panel is closed.
tapBasePageToClosePanel();
@@ -2666,6 +2757,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests that the Contextual Search panel is dismissed when entering or exiting fullscreen.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testPanelDismissedOnToggleFullscreen()
@@ -2674,8 +2766,9 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
simulateTapSearch("search");
// Toggle tab to fullscreen.
- Tab tab = getActivity().getActivityTab();
- FullscreenTestUtils.togglePersistentFullscreenAndAssert(tab, true, getActivity());
+ Tab tab = mActivityTestRule.getActivity().getActivityTab();
+ FullscreenTestUtils.togglePersistentFullscreenAndAssert(
+ tab, true, mActivityTestRule.getActivity());
// Assert that the panel is closed.
waitForPanelToClose();
@@ -2684,7 +2777,8 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
simulateTapSearch("search");
// Toggle tab to non-fullscreen.
- FullscreenTestUtils.togglePersistentFullscreenAndAssert(tab, false, getActivity());
+ FullscreenTestUtils.togglePersistentFullscreenAndAssert(
+ tab, false, mActivityTestRule.getActivity());
// Assert that the panel is closed.
waitForPanelToClose();
@@ -2694,6 +2788,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* Tests that ContextualSearchImageControl correctly sets either the icon sprite or thumbnail
* as visible.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testImageControl() throws InterruptedException, TimeoutException {
@@ -2701,8 +2796,8 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
final ContextualSearchImageControl imageControl = mPanel.getImageControl();
- assertFalse(imageControl.getThumbnailVisible());
- assertTrue(TextUtils.isEmpty(imageControl.getThumbnailUrl()));
+ Assert.assertFalse(imageControl.getThumbnailVisible());
+ Assert.assertTrue(TextUtils.isEmpty(imageControl.getThumbnailUrl()));
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
@@ -2712,8 +2807,8 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
}
});
- assertTrue(imageControl.getThumbnailVisible());
- assertEquals(imageControl.getThumbnailUrl(), "http://someimageurl.com/image.png");
+ Assert.assertTrue(imageControl.getThumbnailVisible());
+ Assert.assertEquals(imageControl.getThumbnailUrl(), "http://someimageurl.com/image.png");
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
@@ -2722,8 +2817,8 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
}
});
- assertFalse(imageControl.getThumbnailVisible());
- assertTrue(TextUtils.isEmpty(imageControl.getThumbnailUrl()));
+ Assert.assertFalse(imageControl.getThumbnailVisible());
+ Assert.assertTrue(TextUtils.isEmpty(imageControl.getThumbnailUrl()));
}
// TODO(twellington): Add an end-to-end integration test for fetching a thumbnail based on a
@@ -2732,6 +2827,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests that Contextual Search is fully disabled when offline.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
// NOTE: Remove the flag so we will run just this test with onLine detection enabled.
@@ -2757,6 +2853,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* Tests that the quick action caption is set correctly when one is available. Also tests that
* the caption gets changed when the panel is expanded and reset when the panel is closed.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testQuickActionCaptionAndImage() throws InterruptedException, TimeoutException {
@@ -2777,12 +2874,12 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
ContextualSearchImageControl imageControl = mPanel.getImageControl();
// Check that the peeking bar is showing the quick action data.
- assertTrue(quickActionControl.hasQuickAction());
- assertTrue(barControl.getCaptionVisible());
- assertEquals(getActivity().getResources().getString(
- R.string.contextual_search_quick_action_caption_phone),
+ Assert.assertTrue(quickActionControl.hasQuickAction());
+ Assert.assertTrue(barControl.getCaptionVisible());
+ Assert.assertEquals(mActivityTestRule.getActivity().getResources().getString(
+ R.string.contextual_search_quick_action_caption_phone),
barControl.getCaptionText());
- assertEquals(1.f, imageControl.getCustomImageVisibilityPercentage());
+ Assert.assertEquals(1.f, imageControl.getCustomImageVisibilityPercentage(), 0);
// Expand the bar.
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@@ -2794,36 +2891,37 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
waitForPanelToExpand();
// Check that the expanded bar is showing the correct image and caption.
- assertTrue(barControl.getCaptionVisible());
- assertEquals(getActivity().getResources().getString(
- ContextualSearchCaptionControl.EXPANED_CAPTION_ID),
+ Assert.assertTrue(barControl.getCaptionVisible());
+ Assert.assertEquals(mActivityTestRule.getActivity().getResources().getString(
+ ContextualSearchCaptionControl.EXPANED_CAPTION_ID),
barControl.getCaptionText());
- assertEquals(0.f, imageControl.getCustomImageVisibilityPercentage());
+ Assert.assertEquals(0.f, imageControl.getCustomImageVisibilityPercentage(), 0);
// Go back to peeking.
swipePanelDown();
waitForPanelToPeek();
// Assert that the quick action data is showing.
- assertTrue(barControl.getCaptionVisible());
- assertEquals(getActivity().getResources().getString(
- R.string.contextual_search_quick_action_caption_phone),
+ Assert.assertTrue(barControl.getCaptionVisible());
+ Assert.assertEquals(mActivityTestRule.getActivity().getResources().getString(
+ R.string.contextual_search_quick_action_caption_phone),
barControl.getCaptionText());
- assertEquals(1.f, imageControl.getCustomImageVisibilityPercentage());
+ Assert.assertEquals(1.f, imageControl.getCustomImageVisibilityPercentage(), 0);
}
/**
* Tests that an intent is sent when the bar is tapped and a quick action is available.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testQuickActionIntent() throws InterruptedException, TimeoutException {
// Add a new filter to the activity monitor that matches the intent that should be fired.
IntentFilter quickActionFilter = new IntentFilter(Intent.ACTION_VIEW);
quickActionFilter.addDataScheme("tel");
- mActivityMonitor = getInstrumentation().addMonitor(
- quickActionFilter, new Instrumentation.ActivityResult(Activity.RESULT_OK, null),
- true);
+ mActivityMonitor =
+ InstrumentationRegistry.getInstrumentation().addMonitor(quickActionFilter,
+ new Instrumentation.ActivityResult(Activity.RESULT_OK, null), true);
// Simulate a tap to show the Bar, then set the quick action data.
simulateTapSearch("search");
@@ -2839,13 +2937,14 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
clickPanelBar();
// Assert that an intent was fired.
- assertEquals(1, mActivityMonitor.getHits());
+ Assert.assertEquals(1, mActivityMonitor.getHits());
}
/**
* Tests that the current tab is navigated to the quick action URI for
* QuickActionCategory#WEBSITE.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testQuickActionUrl() throws InterruptedException, TimeoutException {
@@ -2864,12 +2963,14 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
clickPanelBar();
// Assert that the URL was loaded.
- ChromeTabUtils.waitForTabPageLoaded(getActivity().getActivityTab(), testUrl);
+ ChromeTabUtils.waitForTabPageLoaded(
+ mActivityTestRule.getActivity().getActivityTab(), testUrl);
}
/**
* Tests accessibility mode: Tap and Long-press don't activate CS.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testAccesibilityMode() throws InterruptedException, TimeoutException {
@@ -2889,6 +2990,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests that the Manager cycles through all the expected Internal States on Tap that Resolves.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testAllInternalStatesVisitedResolvingTap()
@@ -2901,17 +3003,20 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
// Simulate a tap that resolves to show the Bar.
simulateTapSearch("search");
- assertEquals(InternalState.SHOWING_TAP_SEARCH, internalStateControllerWrapper.getState());
+ Assert.assertEquals(
+ InternalState.SHOWING_TAP_SEARCH, internalStateControllerWrapper.getState());
- assertEquals(internalStateControllerWrapper.getStartedStates(),
+ Assert.assertEquals(internalStateControllerWrapper.getStartedStates(),
internalStateControllerWrapper.getFinishedStates());
- assertEquals(ContextualSearchInternalStateControllerWrapper.EXPECTED_TAP_RESOLVE_SEQUENCE,
+ Assert.assertEquals(
+ ContextualSearchInternalStateControllerWrapper.EXPECTED_TAP_RESOLVE_SEQUENCE,
internalStateControllerWrapper.getFinishedStates());
}
/**
* Tests that the Manager cycles through all the expected Internal States on a Long-press.
*/
+ @Test
@SmallTest
@Feature({"ContextualSearch"})
public void testAllInternalStatesVisitedLongpress()
@@ -2925,9 +3030,10 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
// Simulate a Long-press to show the Bar.
simulateLongPressSearch("search");
- assertEquals(internalStateControllerWrapper.getStartedStates(),
+ Assert.assertEquals(internalStateControllerWrapper.getStartedStates(),
internalStateControllerWrapper.getFinishedStates());
- assertEquals(ContextualSearchInternalStateControllerWrapper.EXPECTED_LONGPRESS_SEQUENCE,
+ Assert.assertEquals(
+ ContextualSearchInternalStateControllerWrapper.EXPECTED_LONGPRESS_SEQUENCE,
internalStateControllerWrapper.getFinishedStates());
}
}

Powered by Google App Engine
This is Rietveld 408576698