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

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

Issue 1239583003: Update touch selection notification names, add ESTABLISHED. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update a method name. Created 5 years, 4 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 e254222f7ad4480cdfe0f1765d17f7ddd8b8bbd3..873f95f5f5bd44d3355999a52cd5ca7ad901e7e5 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
@@ -307,7 +307,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* @throws InterruptedException
*/
private void waitForPanelToExpandAndAssert() throws InterruptedException {
- assertTrue("Search Bar did not expand.", waitForPanelToEnterState(PanelState.EXPANDED));
+ assertTrue("Search Panel did not expand.", waitForPanelToEnterState(PanelState.EXPANDED));
}
/**
@@ -315,7 +315,8 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* @throws InterruptedException
*/
private void waitForPanelToMaximizeAndAssert() throws InterruptedException {
- assertTrue("Search Bar did not maximize.", waitForPanelToEnterState(PanelState.MAXIMIZED));
+ assertTrue(
+ "Search Panel did not maximize.", waitForPanelToEnterState(PanelState.MAXIMIZED));
}
/**
@@ -323,14 +324,16 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
* @throws InterruptedException
*/
private void waitForPanelToCloseAndAssert() throws InterruptedException {
- // TODO(donnd): figure out why using waitForPanelToEnterState here doesn't work.
- assertTrue("Search Bar did not close.",
- CriteriaHelper.pollForCriteria(new Criteria() {
- @Override
- public boolean isSatisfied() {
- return !mManager.isSearchPanelShowing();
- }
- }, TEST_TIMEOUT, DEFAULT_POLLING_INTERVAL));
+ assertTrue("Search Panel did not close.", waitForPanelToEnterState(PanelState.CLOSED));
+ }
+
+ /**
+ * Asserts that the panel was never opened.
+ * @throws InterruptedException
+ */
+ private void assertPanelNeverOpened() throws InterruptedException {
+ assertTrue(
+ "Search Panel actually did open.", waitForPanelToEnterState(PanelState.UNDEFINED));
}
/**
@@ -392,6 +395,8 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Waits for the selection to be dissolved.
+ * Use this method any time a test repeatedly establishes and dissolves a selection to ensure
+ * that the selection has been completely dissolved before simulating the next selection event.
* This is needed because the renderer's notification of a selection going away is async,
* and a subsequent tap may think there's a current selection until it has been dissolved.
*/
@@ -405,6 +410,14 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
}
/**
+ * Waits for the panel to close and then waits for the selection to dissolve.
+ */
+ private void waitForPanelToCloseAndSelectionDissolved() throws InterruptedException {
+ waitForPanelToCloseAndAssert();
+ waitForSelectionDissolved();
+ }
+
+ /**
* A ContentViewCore that has some methods stubbed out for testing.
*/
private static final class StubbedContentViewCore extends ContentViewCore {
@@ -465,20 +478,20 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Taps the base page near the top.
*/
- private void tapBasePage() throws InterruptedException {
+ private void tapBasePageToClosePanel() throws InterruptedException {
tapBasePage(0.1f, 0.1f);
+ waitForPanelToCloseAndAssert();
}
/**
* Taps the base page at the given x, y position.
*/
- private void tapBasePage(float x, float y) throws InterruptedException {
+ private void tapBasePage(float x, float y) {
Point size = new Point();
getActivity().getWindowManager().getDefaultDisplay().getSize(size);
x *= size.x;
y *= size.y;
singleClick(x, y);
- waitForPanelToCloseAndAssert();
}
/**
@@ -486,9 +499,16 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
*/
private void clickToExpandAndClosePanel() throws InterruptedException, TimeoutException {
clickWordNode("states");
+ tapBarToExpandAndClosePanel();
+ waitForSelectionDissolved();
+ }
+
+ /**
+ * Tap on the peeking Bar to expand the panel, then taps on the base page to close it.
+ */
+ private void tapBarToExpandAndClosePanel() throws InterruptedException {
tapPeekingBarToExpandAndAssert();
- tapBasePage();
- waitForPanelToCloseAndAssert();
+ tapBasePageToClosePanel();
}
/**
@@ -526,7 +546,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
mFakeServer.reset();
clickWordNode("states");
clickNode("states-far");
- waitForPanelToCloseAndAssert();
+ waitForPanelToCloseAndSelectionDissolved();
}
/**
@@ -543,7 +563,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
fakeResponse(false, 200, "States", "display-text", "alternate-term", false);
waitForPanelToPeekAndAssert();
clickNode("states-far");
- waitForPanelToCloseAndAssert();
+ waitForPanelToCloseAndSelectionDissolved();
}
/**
@@ -728,8 +748,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
assertEquals(1, mFakeServer.loadedUrlCount());
// tap the base page to close.
- tapBasePage();
- waitForPanelToCloseAndAssert();
+ tapBasePageToClosePanel();
assertEquals(1, mFakeServer.loadedUrlCount());
assertNoContentViewCore();
}
@@ -772,8 +791,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
assertEquals(1, mFakeServer.loadedUrlCount());
// tap the base page to close.
- tapBasePage();
- waitForPanelToCloseAndAssert();
+ tapBasePageToClosePanel();
assertEquals(1, mFakeServer.loadedUrlCount());
assertNoContentViewCore();
}
@@ -1178,7 +1196,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
@Restriction({RESTRICTION_TYPE_PHONE, RESTRICTION_TYPE_NON_LOW_END_DEVICE})
public void testTapOnRoleIgnored() throws InterruptedException, TimeoutException {
clickNode("role");
- waitForGestureToClosePanelAndAssertNoSelection();
+ assertPanelNeverOpened();
}
/**
@@ -1189,7 +1207,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
@Restriction({RESTRICTION_TYPE_PHONE, RESTRICTION_TYPE_NON_LOW_END_DEVICE})
public void testTapOnARIAIgnored() throws InterruptedException, TimeoutException {
clickNode("aria");
- waitForGestureToClosePanelAndAssertNoSelection();
+ assertPanelNeverOpened();
}
/**
@@ -1200,7 +1218,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
@Restriction({RESTRICTION_TYPE_PHONE, RESTRICTION_TYPE_NON_LOW_END_DEVICE})
public void testTapOnFocusableIgnored() throws InterruptedException, TimeoutException {
clickNode("focusable");
- waitForGestureToClosePanelAndAssertNoSelection();
+ assertPanelNeverOpened();
}
/**
@@ -1337,10 +1355,10 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
clickWordNode("states");
clickNode("states-far");
- waitForPanelToCloseAndAssert();
+ waitForPanelToCloseAndSelectionDissolved();
clickWordNode("states");
clickNode("states-far");
- waitForPanelToCloseAndAssert();
+ waitForPanelToCloseAndSelectionDissolved();
// 3rd click won't peek the panel.
clickNode("states");
@@ -1353,18 +1371,20 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
waitForPanelToPeekAndAssert();
// Expanding the panel should deactivate the limit.
- clickToExpandAndClosePanel();
+ tapBarToExpandAndClosePanel();
+ // Clear the long-press selection.
+ clickNode("states-far");
// Three taps should work now.
clickWordNode("states");
clickNode("states-far");
- waitForPanelToCloseAndAssert();
+ waitForPanelToCloseAndSelectionDissolved();
clickWordNode("states");
clickNode("states-far");
- waitForPanelToCloseAndAssert();
+ waitForPanelToCloseAndSelectionDissolved();
clickWordNode("states");
clickNode("states-far");
- waitForPanelToCloseAndAssert();
+ waitForPanelToCloseAndSelectionDissolved();
}
/**
@@ -1389,7 +1409,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
// Expanding the panel should reset the limit.
swipePanelUp();
singleClick(0.5f, 0.5f);
- waitForPanelToCloseAndAssert();
+ waitForPanelToCloseAndSelectionDissolved();
// Click should preload again.
clickToTriggerPrefetch();
@@ -1529,8 +1549,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
pressAppMenuKey();
assertAppMenuVisibility(false);
- tapBasePage();
- waitForPanelToCloseAndAssert();
+ tapBasePageToClosePanel();
pressAppMenuKey();
assertAppMenuVisibility(true);
@@ -1594,14 +1613,13 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
// Now we're at the limit, a tap should be ignored.
clickNode("states");
- waitForPanelToCloseAndAssert();
+ waitForPanelToCloseAndSelectionDissolved();
assertTapPromoCounterEnabledAt(2);
// An open should disable the counter, but we need to use long-press (tap is now disabled).
longPressNode("states-far");
tapPeekingBarToExpandAndAssert();
- tapBasePage();
- waitForPanelToCloseAndAssert();
+ tapBasePageToClosePanel();
assertTapPromoCounterDisabledAt(2);
// Even though we closed the panel, the long-press selection is still there.
@@ -1715,8 +1733,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
longPressNode("states");
assertEquals(0, observer.hideCount);
- tapBasePage();
- waitForPanelToCloseAndAssert();
+ tapBasePageToClosePanel();
assertEquals(1, observer.hideCount);
}
@@ -1733,8 +1750,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
clickWordNode("states");
assertEquals(0, observer.hideCount);
- tapBasePage();
- waitForPanelToCloseAndAssert();
+ tapBasePageToClosePanel();
assertEquals(1, observer.hideCount);
}
@@ -1808,7 +1824,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro
/**
* Tests a bunch of taps in a row.
- * We've had reliability problems with simple taps due to async clearing
+ * 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.
*/
@Restriction({RESTRICTION_TYPE_PHONE, RESTRICTION_TYPE_NON_LOW_END_DEVICE})
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698