| Index: chrome/android/javatests/src/org/chromium/chrome/browser/NavigationPopupTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/NavigationPopupTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/NavigationPopupTest.java
|
| index 682f709a0761ebb0640b03f7e547c9a5eee96699..d50d9ee5f189486ee032fe0bf78281af2752a3ce 100644
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/NavigationPopupTest.java
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/NavigationPopupTest.java
|
| @@ -8,12 +8,20 @@ import android.graphics.Bitmap;
|
| import android.support.test.filters.MediumTest;
|
| import android.support.test.filters.SmallTest;
|
|
|
| +import org.junit.Assert;
|
| +import org.junit.Before;
|
| +import org.junit.Rule;
|
| +import org.junit.Test;
|
| +import org.junit.runner.RunWith;
|
| +
|
| import org.chromium.base.ThreadUtils;
|
| +import org.chromium.base.test.util.CommandLineFlags;
|
| import org.chromium.base.test.util.Feature;
|
| import org.chromium.base.test.util.RetryOnFailure;
|
| import org.chromium.base.test.util.UrlUtils;
|
| import org.chromium.chrome.browser.profiles.Profile;
|
| -import org.chromium.chrome.test.ChromeActivityTestCaseBase;
|
| +import org.chromium.chrome.test.ChromeActivityTestRule;
|
| +import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
|
| import org.chromium.content.browser.test.util.Criteria;
|
| import org.chromium.content.browser.test.util.CriteriaHelper;
|
| import org.chromium.content_public.browser.LoadUrlParams;
|
| @@ -21,23 +29,27 @@ import org.chromium.content_public.browser.NavigationController;
|
| import org.chromium.content_public.browser.NavigationEntry;
|
| import org.chromium.content_public.browser.NavigationHistory;
|
|
|
| +import java.util.concurrent.atomic.AtomicReference;
|
| +
|
| /**
|
| * Tests for the navigation popup.
|
| */
|
| +@RunWith(ChromeJUnit4ClassRunner.class)
|
| @RetryOnFailure
|
| -public class NavigationPopupTest extends ChromeActivityTestCaseBase<ChromeActivity> {
|
| +@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE,
|
| + ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG})
|
| +public class NavigationPopupTest {
|
| + @Rule
|
| + public ChromeActivityTestRule<ChromeActivity> mActivityTestRule =
|
| + new ChromeActivityTestRule<>(ChromeActivity.class);
|
|
|
| private static final int INVALID_NAVIGATION_INDEX = -1;
|
|
|
| private Profile mProfile;
|
|
|
| - public NavigationPopupTest() {
|
| - super(ChromeActivity.class);
|
| - }
|
| -
|
| - @Override
|
| - protected void setUp() throws Exception {
|
| - super.setUp();
|
| + @Before
|
| + public void setUp() throws Exception {
|
| + mActivityTestRule.startMainActivityOnBlankPage();
|
| ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| @Override
|
| public void run() {
|
| @@ -46,11 +58,6 @@ public class NavigationPopupTest extends ChromeActivityTestCaseBase<ChromeActivi
|
| });
|
| }
|
|
|
| - @Override
|
| - public void startMainActivity() throws InterruptedException {
|
| - startMainActivityOnBlankPage();
|
| - }
|
| -
|
| // Exists solely to expose protected methods to this test.
|
| private static class TestNavigationHistory extends NavigationHistory {
|
| @Override
|
| @@ -223,19 +230,25 @@ public class NavigationPopupTest extends ChromeActivityTestCaseBase<ChromeActivi
|
| public void setEntryExtraData(int index, String key, String value) {}
|
| }
|
|
|
| + @Test
|
| @MediumTest
|
| @Feature({"Navigation"})
|
| public void testFaviconFetching() {
|
| final TestNavigationController controller = new TestNavigationController();
|
| - final NavigationPopup popup = new NavigationPopup(
|
| - mProfile, getActivity(), controller, true);
|
| - popup.setWidth(300);
|
| - popup.setHeight(300);
|
| - popup.setAnchorView(getActivity().getCurrentContentViewCore().getContainerView());
|
| + final AtomicReference<NavigationPopup> popupReference = new AtomicReference<>();
|
| ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| @Override
|
| public void run() {
|
| + NavigationPopup popup = new NavigationPopup(
|
| + mProfile, mActivityTestRule.getActivity(), controller, true);
|
| + popup.setWidth(300);
|
| + popup.setHeight(300);
|
| + popup.setAnchorView(mActivityTestRule.getActivity()
|
| + .getCurrentContentViewCore()
|
| + .getContainerView());
|
| +
|
| popup.show();
|
| + popupReference.set(popup);
|
| }
|
| });
|
|
|
| @@ -255,37 +268,43 @@ public class NavigationPopupTest extends ChromeActivityTestCaseBase<ChromeActivi
|
| ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| @Override
|
| public void run() {
|
| - popup.dismiss();
|
| + popupReference.get().dismiss();
|
| }
|
| });
|
| }
|
|
|
| + @Test
|
| @SmallTest
|
| @Feature({"Navigation"})
|
| public void testItemSelection() {
|
| final TestNavigationController controller = new TestNavigationController();
|
| - final NavigationPopup popup =
|
| - new NavigationPopup(mProfile, getActivity(), controller, true);
|
| - popup.setWidth(300);
|
| - popup.setHeight(300);
|
| - popup.setAnchorView(getActivity().getCurrentContentViewCore().getContainerView());
|
| + final AtomicReference<NavigationPopup> popupReference = new AtomicReference<>();
|
| ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| @Override
|
| public void run() {
|
| + NavigationPopup popup = new NavigationPopup(
|
| + mProfile, mActivityTestRule.getActivity(), controller, true);
|
| + popup.setWidth(300);
|
| + popup.setHeight(300);
|
| + popup.setAnchorView(mActivityTestRule.getActivity()
|
| + .getCurrentContentViewCore()
|
| + .getContainerView());
|
| +
|
| popup.show();
|
| + popupReference.set(popup);
|
| }
|
| });
|
|
|
| ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| @Override
|
| public void run() {
|
| - popup.performItemClick(1);
|
| + popupReference.get().performItemClick(1);
|
| }
|
| });
|
|
|
| - assertFalse("Popup did not hide as expected.", popup.isShowing());
|
| - assertEquals("Popup attempted to navigate to the wrong index", 5,
|
| - controller.mNavigatedIndex);
|
| + Assert.assertFalse("Popup did not hide as expected.", popupReference.get().isShowing());
|
| + Assert.assertEquals(
|
| + "Popup attempted to navigate to the wrong index", 5, controller.mNavigatedIndex);
|
| }
|
|
|
| }
|
|
|