Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 package org.mozilla.gecko.tests;
3 import android.support.v4.app.Fragment;
4 import android.view.KeyEvent;
5 import android.view.View;
7 /**
8 * Test for browser search visibility.
9 * Sends queries from url bar input and verifies that browser search
10 * visibility is correct.
11 */
12 public class testBrowserSearchVisibility extends BaseTest {
13 public void testSearchSuggestions() {
14 blockForGeckoReady();
16 focusUrlBar();
18 // search should not be visible when editing mode starts
19 assertBrowserSearchVisibility(false);
21 mActions.sendKeys("a");
23 // search should be visible when entry is not empty
24 assertBrowserSearchVisibility(true);
26 mActions.sendKeys("b");
28 // search continues to be visible when more text is added
29 assertBrowserSearchVisibility(true);
31 mActions.sendKeyCode(KeyEvent.KEYCODE_DEL);
33 // search continues to be visible when not all text is deleted
34 assertBrowserSearchVisibility(true);
36 mActions.sendKeyCode(KeyEvent.KEYCODE_DEL);
38 // search should not be visible, entry is empty now
39 assertBrowserSearchVisibility(false);
40 }
42 private void assertBrowserSearchVisibility(final boolean isVisible) {
43 waitForTest(new BooleanTest() {
44 @Override
45 public boolean test() {
46 final Fragment browserSearch = getBrowserSearch();
48 // The fragment should not be present at all. Testing if the
49 // fragment is present but has no defined view is not a valid
50 // state.
51 if (browserSearch == null)
52 return !isVisible;
54 final View v = browserSearch.getView();
55 if (isVisible && v != null && v.getVisibility() == View.VISIBLE)
56 return true;
58 return false;
59 }
60 }, 5000);
61 }
62 }