| Index: chrome/android/javatests/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelperTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelperTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelperTest.java
|
| index 3dc82b5a708ff45dce92de8d2b8d2e886b5e16bc..27866b41d593d1d9c97c5ac15b320bf4bde0c56f 100644
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelperTest.java
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelperTest.java
|
| @@ -8,25 +8,38 @@ import android.content.Context;
|
| import android.support.test.filters.MediumTest;
|
| import android.view.View;
|
|
|
| +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.Restriction;
|
| import org.chromium.base.test.util.RetryOnFailure;
|
| import org.chromium.chrome.R;
|
| +import org.chromium.chrome.browser.ChromeSwitches;
|
| import org.chromium.chrome.browser.UrlConstants;
|
| -import org.chromium.chrome.test.ChromeTabbedActivityTestBase;
|
| +import org.chromium.chrome.test.ChromeActivityTestRule;
|
| +import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
|
| +import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
|
| import org.chromium.chrome.test.util.ChromeRestriction;
|
| import org.chromium.chrome.test.util.OverviewModeBehaviorWatcher;
|
| import org.chromium.content.browser.test.util.Criteria;
|
| import org.chromium.content.browser.test.util.CriteriaHelper;
|
| -
|
| +import org.chromium.content.browser.test.util.TouchCommon;
|
|
|
| /**
|
| * Tests for the UpdateMenuItemHelper.
|
| */
|
| -@CommandLineFlags.Add("enable_update_menu_item")
|
| -public class UpdateMenuItemHelperTest extends ChromeTabbedActivityTestBase {
|
| +@RunWith(ChromeJUnit4ClassRunner.class)
|
| +@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE,
|
| + ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG, "enable_update_menu_item"})
|
| +public class UpdateMenuItemHelperTest {
|
| + @Rule
|
| + public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule();
|
|
|
| private static final long MS_TIMEOUT = 2000;
|
| private static final long MS_INTERVAL = 500;
|
| @@ -47,14 +60,14 @@ public class UpdateMenuItemHelperTest extends ChromeTabbedActivityTestBase {
|
|
|
| @Override
|
| public String getCurrentlyUsedVersion(Context applicationContext) {
|
| - assertNotNull("Never set the current version", mCurrentVersion);
|
| + Assert.assertNotNull("Never set the current version", mCurrentVersion);
|
| mAskedForCurrentVersion = true;
|
| return mCurrentVersion;
|
| }
|
|
|
| @Override
|
| public String getLatestKnownVersion(Context applicationContext) {
|
| - assertNotNull("Never set the latest version", mLatestVersion);
|
| + Assert.assertNotNull("Never set the latest version", mLatestVersion);
|
| mAskedForLatestVersion = true;
|
| return mLatestVersion;
|
| }
|
| @@ -85,19 +98,12 @@ public class UpdateMenuItemHelperTest extends ChromeTabbedActivityTestBase {
|
| private MockVersionNumberGetter mMockVersionNumberGetter;
|
| private MockMarketURLGetter mMockMarketURLGetter;
|
|
|
| - @Override
|
| + @Before
|
| public void setUp() throws Exception {
|
| - super.setUp();
|
| -
|
| // This test explicitly tests for the menu item, so turn it on.
|
| VersionNumberGetter.setEnableUpdateDetection(true);
|
| }
|
|
|
| - @Override
|
| - public void startMainActivity() {
|
| - // Don't start Main until we've had a chance to override everything.
|
| - }
|
| -
|
| /**
|
| * Prepares Main before actually launching it. This is required since we don't have all of the
|
| * info we need in setUp().
|
| @@ -116,7 +122,7 @@ public class UpdateMenuItemHelperTest extends ChromeTabbedActivityTestBase {
|
| MarketURLGetter.setInstanceForTests(mMockMarketURLGetter);
|
|
|
| // Start up main.
|
| - startMainActivityWithURL(UrlConstants.NTP_URL);
|
| + mActivityTestRule.startMainActivityWithURL(UrlConstants.NTP_URL);
|
|
|
| // Check to make sure that the version numbers get queried.
|
| versionNumbersQueried();
|
| @@ -141,9 +147,13 @@ public class UpdateMenuItemHelperTest extends ChromeTabbedActivityTestBase {
|
| throws Exception {
|
| prepareAndStartMainActivity(currentVersion, latestVersion);
|
| showAppMenuAndAssertMenuShown();
|
| - assertTrue("Update menu item is not showing.",
|
| - getActivity().getAppMenuHandler().getAppMenu().getMenu().findItem(
|
| - R.id.update_menu_id).isVisible());
|
| + Assert.assertTrue("Update menu item is not showing.",
|
| + mActivityTestRule.getActivity()
|
| + .getAppMenuHandler()
|
| + .getAppMenu()
|
| + .getMenu()
|
| + .findItem(R.id.update_menu_id)
|
| + .isVisible());
|
| }
|
|
|
| /**
|
| @@ -153,11 +163,16 @@ public class UpdateMenuItemHelperTest extends ChromeTabbedActivityTestBase {
|
| throws Exception {
|
| prepareAndStartMainActivity(currentVersion, latestVersion);
|
| showAppMenuAndAssertMenuShown();
|
| - assertFalse("Update menu item is showing.",
|
| - getActivity().getAppMenuHandler().getAppMenu().getMenu().findItem(
|
| - R.id.update_menu_id).isVisible());
|
| + Assert.assertFalse("Update menu item is showing.",
|
| + mActivityTestRule.getActivity()
|
| + .getAppMenuHandler()
|
| + .getAppMenu()
|
| + .getMenu()
|
| + .findItem(R.id.update_menu_id)
|
| + .isVisible());
|
| }
|
|
|
| + @Test
|
| @MediumTest
|
| @Feature({"Omaha"})
|
| @RetryOnFailure
|
| @@ -165,6 +180,7 @@ public class UpdateMenuItemHelperTest extends ChromeTabbedActivityTestBase {
|
| checkUpdateMenuItemIsShowing("0.0.0.0", "1.2.3.4");
|
| }
|
|
|
| + @Test
|
| @MediumTest
|
| @Feature({"Omaha"})
|
| @RetryOnFailure
|
| @@ -172,12 +188,14 @@ public class UpdateMenuItemHelperTest extends ChromeTabbedActivityTestBase {
|
| checkUpdateMenuItemIsNotShowing("1.2.3.4", "1.2.3.4");
|
| }
|
|
|
| + @Test
|
| @MediumTest
|
| @Feature({"Omaha"})
|
| public void testCurrentVersionIsNewer() throws Exception {
|
| checkUpdateMenuItemIsNotShowing("27.0.1453.42", "26.0.1410.49");
|
| }
|
|
|
| + @Test
|
| @MediumTest
|
| @Feature({"Omaha"})
|
| @RetryOnFailure
|
| @@ -185,6 +203,7 @@ public class UpdateMenuItemHelperTest extends ChromeTabbedActivityTestBase {
|
| checkUpdateMenuItemIsNotShowing("1.2.3.4", "0");
|
| }
|
|
|
| + @Test
|
| @MediumTest
|
| @Feature({"Omaha"})
|
| @Restriction(ChromeRestriction.RESTRICTION_TYPE_PHONE)
|
| @@ -197,28 +216,33 @@ public class UpdateMenuItemHelperTest extends ChromeTabbedActivityTestBase {
|
|
|
| // Ensure not shown in tab switcher app menu.
|
| OverviewModeBehaviorWatcher overviewModeWatcher = new OverviewModeBehaviorWatcher(
|
| - getActivity().getLayoutManager(), true, false);
|
| - View tabSwitcherButton = getActivity().findViewById(R.id.tab_switcher_button);
|
| - assertNotNull("'tab_switcher_button' view is not found", tabSwitcherButton);
|
| - singleClickView(tabSwitcherButton);
|
| + mActivityTestRule.getActivity().getLayoutManager(), true, false);
|
| + View tabSwitcherButton =
|
| + mActivityTestRule.getActivity().findViewById(R.id.tab_switcher_button);
|
| + Assert.assertNotNull("'tab_switcher_button' view is not found", tabSwitcherButton);
|
| + TouchCommon.singleClickView(tabSwitcherButton);
|
| overviewModeWatcher.waitForBehavior();
|
| showAppMenuAndAssertMenuShown();
|
| - assertFalse("Update menu item is showing.",
|
| - getActivity().getAppMenuHandler().getAppMenu().getMenu().findItem(
|
| - R.id.update_menu_id).isVisible());
|
| + Assert.assertFalse("Update menu item is showing.",
|
| + mActivityTestRule.getActivity()
|
| + .getAppMenuHandler()
|
| + .getAppMenu()
|
| + .getMenu()
|
| + .findItem(R.id.update_menu_id)
|
| + .isVisible());
|
| }
|
|
|
| private void showAppMenuAndAssertMenuShown() {
|
| ThreadUtils.runOnUiThread(new Runnable() {
|
| @Override
|
| public void run() {
|
| - getActivity().getAppMenuHandler().showAppMenu(null, false);
|
| + mActivityTestRule.getActivity().getAppMenuHandler().showAppMenu(null, false);
|
| }
|
| });
|
| CriteriaHelper.pollInstrumentationThread(new Criteria() {
|
| @Override
|
| public boolean isSatisfied() {
|
| - return getActivity().getAppMenuHandler().isAppMenuShowing();
|
| + return mActivityTestRule.getActivity().getAppMenuHandler().isAppMenuShowing();
|
| }
|
| });
|
| }
|
| @@ -227,13 +251,13 @@ public class UpdateMenuItemHelperTest extends ChromeTabbedActivityTestBase {
|
| ThreadUtils.runOnUiThread(new Runnable() {
|
| @Override
|
| public void run() {
|
| - getActivity().getAppMenuHandler().hideAppMenu();
|
| + mActivityTestRule.getActivity().getAppMenuHandler().hideAppMenu();
|
| }
|
| });
|
| CriteriaHelper.pollInstrumentationThread(new Criteria() {
|
| @Override
|
| public boolean isSatisfied() {
|
| - return !getActivity().getAppMenuHandler().isAppMenuShowing();
|
| + return !mActivityTestRule.getActivity().getAppMenuHandler().isAppMenuShowing();
|
| }
|
| });
|
| }
|
|
|