Chromium Code Reviews| 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 11cb83cbfe50850a15ac4e61c5310d2b14a042a1..2db6fb07f8106484af0cf127a5248cf1c98277fa 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 |
| @@ -45,6 +45,7 @@ import org.chromium.chrome.browser.compositor.bottombar.contextualsearch.Context |
| import org.chromium.chrome.browser.compositor.bottombar.contextualsearch.ContextualSearchPanel; |
| import org.chromium.chrome.browser.compositor.bottombar.contextualsearch.ContextualSearchQuickActionControl; |
| import org.chromium.chrome.browser.contextualsearch.ContextualSearchFakeServer.FakeSlowResolveSearch; |
| +import org.chromium.chrome.browser.contextualsearch.ContextualSearchInternalStateController.InternalState; |
| import org.chromium.chrome.browser.externalnav.ExternalNavigationHandler; |
| import org.chromium.chrome.browser.firstrun.FirstRunStatus; |
| import org.chromium.chrome.browser.gsa.GSAContextDisplaySelection; |
| @@ -1363,7 +1364,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro |
| waitForPanelToPeek(); |
| assertLoadedLowPriorityUrl(); |
| clickNode("question-mark"); |
| - waitForGestureProcessing(); |
| + waitForPanelToClose(); |
| assertNull(getSelectedText()); |
| } |
| @@ -1408,8 +1409,7 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro |
| clickWordNode("states-far"); |
| waitForPanelToPeek(); |
| clickNode("question-mark"); |
| - waitForGestureProcessing(); |
| - assertPanelClosedOrUndefined(); |
| + waitForPanelToClose(); |
| assertNull(mSelectionController.getSelectedText()); |
| } |
| @@ -1438,9 +1438,8 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro |
| assertEquals("States", getSelectedText()); |
| waitForPanelToPeek(); |
| clickNode("states-far"); |
| - waitForGestureProcessing(); |
| + waitForPanelToClose(); |
| assertNull(getSelectedText()); |
| - assertPanelClosedOrUndefined(); |
| clickNode("states-far"); |
| waitForGestureProcessing(); |
| waitForPanelToPeek(); |
| @@ -2867,4 +2866,68 @@ public class ContextualSearchManagerTest extends ChromeActivityTestCaseBase<Chro |
| // Assert that the URL was loaded. |
| ChromeTabUtils.waitForTabPageLoaded(getActivity().getActivityTab(), testUrl); |
| } |
| + |
| + /** |
| + * Tests accessibility mode: Tap and Long-press don't activate CS. |
| + */ |
| + @SmallTest |
| + @Feature({"ContextualSearch"}) |
| + public void testAccesibilityMode() throws InterruptedException, TimeoutException { |
|
Donn Denman
2017/04/26 03:43:54
Added this test for accessibility mode, and a few
|
| + mManager.onAccessibilityModeChanged(true); |
| + |
| + // Simulate a tap that resolves to show the Bar. |
| + clickNode("intelligence"); |
| + assertNoContentViewCore(); |
| + assertNoSearchesLoaded(); |
| + |
| + // Simulate a Long-press. |
| + longPressNodeWithoutWaiting("states"); |
| + assertNoContentViewCore(); |
| + assertNoSearchesLoaded(); |
| + } |
| + |
| + /** |
| + * Tests that the Manager cycles through all the expected Internal States on Tap that Resolves. |
| + */ |
| + @SmallTest |
| + @Feature({"ContextualSearch"}) |
| + public void testAllInternalStatesVisitedResolvingTap() |
| + throws InterruptedException, TimeoutException { |
| + // Set up a tracking version of the Internal State Controller. |
| + ContextualSearchInternalStateControllerWrapper internalStateControllerWrapper = |
| + ContextualSearchInternalStateControllerWrapper |
| + .makeNewInternalStateControllerWrapper(mManager); |
| + mManager.setContextualSearchInternalStateController(internalStateControllerWrapper); |
| + |
| + // Simulate a tap that resolves to show the Bar. |
| + simulateTapSearch("search"); |
| + assertEquals(InternalState.SHOWING_TAP_SEARCH, internalStateControllerWrapper.getState()); |
| + |
| + assertEquals(internalStateControllerWrapper.getStartedStates(), |
| + internalStateControllerWrapper.getFinishedStates()); |
| + assertEquals(ContextualSearchInternalStateControllerWrapper.EXPECTED_TAP_RESOLVE_SEQUENCE, |
| + internalStateControllerWrapper.getFinishedStates()); |
| + } |
| + |
| + /** |
| + * Tests that the Manager cycles through all the expected Internal States on a Long-press. |
| + */ |
| + @SmallTest |
| + @Feature({"ContextualSearch"}) |
| + public void testAllInternalStatesVisitedLongpress() |
| + throws InterruptedException, TimeoutException { |
| + // Set up a tracking version of the Internal State Controller. |
| + ContextualSearchInternalStateControllerWrapper internalStateControllerWrapper = |
| + ContextualSearchInternalStateControllerWrapper |
| + .makeNewInternalStateControllerWrapper(mManager); |
| + mManager.setContextualSearchInternalStateController(internalStateControllerWrapper); |
| + |
| + // Simulate a Long-press to show the Bar. |
| + simulateLongPressSearch("search"); |
| + |
| + assertEquals(internalStateControllerWrapper.getStartedStates(), |
| + internalStateControllerWrapper.getFinishedStates()); |
| + assertEquals(ContextualSearchInternalStateControllerWrapper.EXPECTED_LONGPRESS_SEQUENCE, |
| + internalStateControllerWrapper.getFinishedStates()); |
| + } |
| } |