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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/appmenu/AppMenuTest.java

Issue 2831823003: Convert ChromeActivityTestCaseBase direct children to JUnit4 (Closed)
Patch Set: rebase and convert newly added test Created 3 years, 8 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
Index: chrome/android/javatests/src/org/chromium/chrome/browser/appmenu/AppMenuTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/appmenu/AppMenuTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/appmenu/AppMenuTest.java
index 470592cd508657580eacdffcb91643ec09129ae9..d8bc7697c73dd29bbec97b8538bad3cb3472e013 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/appmenu/AppMenuTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/appmenu/AppMenuTest.java
@@ -6,6 +6,7 @@ package org.chromium.chrome.browser.appmenu;
import android.app.Activity;
import android.content.pm.ActivityInfo;
+import android.support.test.InstrumentationRegistry;
import android.support.test.filters.SmallTest;
import android.view.KeyEvent;
import android.view.MenuItem;
@@ -13,15 +14,24 @@ import android.view.View;
import android.widget.ListPopupWindow;
import android.widget.ListView;
+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.annotations.SuppressFBWarnings;
+import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.DisabledTest;
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.ChromeActivity;
+import org.chromium.chrome.browser.ChromeSwitches;
import org.chromium.chrome.browser.ChromeTabbedActivity;
-import org.chromium.chrome.test.ChromeActivityTestCaseBase;
+import org.chromium.chrome.test.ChromeActivityTestRule;
+import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.chrome.test.util.ChromeTabUtils;
import org.chromium.content.browser.test.util.Criteria;
import org.chromium.content.browser.test.util.CriteriaHelper;
@@ -31,8 +41,15 @@ import java.util.concurrent.Callable;
/**
* Tests AppMenu popup
*/
+@RunWith(ChromeJUnit4ClassRunner.class)
@RetryOnFailure
-public class AppMenuTest extends ChromeActivityTestCaseBase<ChromeActivity> {
+@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE,
+ ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG})
+public class AppMenuTest {
+ @Rule
+ public ChromeActivityTestRule<ChromeActivity> mActivityTestRule =
+ new ChromeActivityTestRule<>(ChromeActivity.class);
+
private static final String TEST_URL = UrlUtils.encodeHtmlDataUri("<html>foo</html>");
private AppMenu mAppMenu;
@@ -59,19 +76,10 @@ public class AppMenuTest extends ChromeActivityTestCaseBase<ChromeActivity> {
}
}
- public AppMenuTest() {
- super(ChromeActivity.class);
- }
-
- @Override
- public void startMainActivity() throws InterruptedException {
- startMainActivityWithURL(TEST_URL);
- }
-
- @Override
- protected void setUp() throws Exception {
+ @Before
+ public void setUp() throws Exception {
// We need list selection; ensure we are not in touch mode.
- getInstrumentation().setInTouchMode(false);
+ InstrumentationRegistry.getInstrumentation().setInTouchMode(false);
ChromeActivity.setAppMenuHandlerFactoryForTesting(
new ChromeActivity.AppMenuHandlerFactory() {
@@ -84,10 +92,10 @@ public class AppMenuTest extends ChromeActivityTestCaseBase<ChromeActivity> {
}
});
- super.setUp();
+ mActivityTestRule.startMainActivityWithURL(TEST_URL);
showAppMenuAndAssertMenuShown();
- mAppMenu = getActivity().getAppMenuHandler().getAppMenu();
+ mAppMenu = mActivityTestRule.getActivity().getAppMenuHandler().getAppMenu();
ThreadUtils.runOnUiThread(new Runnable() {
@Override
public void run() {
@@ -100,19 +108,21 @@ public class AppMenuTest extends ChromeActivityTestCaseBase<ChromeActivity> {
return getCurrentFocusedRow();
}
}));
- getInstrumentation().waitForIdleSync();
+ InstrumentationRegistry.getInstrumentation().waitForIdleSync();
}
/**
* Verify opening a new tab from the menu.
*/
+ @Test
@SmallTest
@Feature({"Browser", "Main"})
public void testMenuNewTab() throws InterruptedException {
- final int tabCountBefore = getActivity().getCurrentTabModel().getCount();
- ChromeTabUtils.newTabFromMenu(getInstrumentation(), (ChromeTabbedActivity) getActivity());
- final int tabCountAfter = getActivity().getCurrentTabModel().getCount();
- assertTrue("Expected: " + (tabCountBefore + 1) + " Got: " + tabCountAfter,
+ final int tabCountBefore = mActivityTestRule.getActivity().getCurrentTabModel().getCount();
+ ChromeTabUtils.newTabFromMenu(InstrumentationRegistry.getInstrumentation(),
+ (ChromeTabbedActivity) mActivityTestRule.getActivity());
+ final int tabCountAfter = mActivityTestRule.getActivity().getCurrentTabModel().getCount();
+ Assert.assertTrue("Expected: " + (tabCountBefore + 1) + " Got: " + tabCountAfter,
tabCountBefore + 1 == tabCountAfter);
}
@@ -120,20 +130,22 @@ public class AppMenuTest extends ChromeActivityTestCaseBase<ChromeActivity> {
* Test bounds when accessing the menu through the keyboard.
* Make sure that the menu stays open when trying to move past the first and last items.
*/
+ @Test
@SmallTest
@Feature({"Browser", "Main"})
public void testKeyboardMenuBoundaries() {
moveToBoundary(false, true);
- assertEquals(getCount() - 1, getCurrentFocusedRow());
+ Assert.assertEquals(getCount() - 1, getCurrentFocusedRow());
moveToBoundary(true, true);
- assertEquals(0, getCurrentFocusedRow());
+ Assert.assertEquals(0, getCurrentFocusedRow());
moveToBoundary(false, true);
- assertEquals(getCount() - 1, getCurrentFocusedRow());
+ Assert.assertEquals(getCount() - 1, getCurrentFocusedRow());
}
/**
* Test that typing ENTER immediately opening the menu works.
*/
+ @Test
@SmallTest
@Feature({"Browser", "Main"})
public void testKeyboardMenuEnterOnOpen() {
@@ -143,11 +155,12 @@ public class AppMenuTest extends ChromeActivityTestCaseBase<ChromeActivity> {
/**
* Test that hitting ENTER past the top item doesn't crash Chrome.
*/
+ @Test
@SmallTest
@Feature({"Browser", "Main"})
public void testKeyboardEnterAfterMovePastTopItem() {
moveToBoundary(true, true);
- assertEquals(0, getCurrentFocusedRow());
+ Assert.assertEquals(0, getCurrentFocusedRow());
hitEnterAndAssertAppMenuDismissed();
}
@@ -155,11 +168,12 @@ public class AppMenuTest extends ChromeActivityTestCaseBase<ChromeActivity> {
* Test that hitting ENTER past the bottom item doesn't crash Chrome.
* Catches regressions for http://crbug.com/181067
*/
+ @Test
@SmallTest
@Feature({"Browser", "Main"})
public void testKeyboardEnterAfterMovePastBottomItem() {
moveToBoundary(false, true);
- assertEquals(getCount() - 1, getCurrentFocusedRow());
+ Assert.assertEquals(getCount() - 1, getCurrentFocusedRow());
hitEnterAndAssertAppMenuDismissed();
}
@@ -167,26 +181,30 @@ public class AppMenuTest extends ChromeActivityTestCaseBase<ChromeActivity> {
* Test that hitting ENTER on the top item actually triggers the top item.
* Catches regressions for https://crbug.com/191239 for shrunken menus.
*/
+ @Test
@SmallTest
@Feature({"Browser", "Main"})
public void testKeyboardMenuEnterOnTopItemLandscape() {
- getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
+ mActivityTestRule.getActivity().setRequestedOrientation(
+ ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
showAppMenuAndAssertMenuShown();
moveToBoundary(true, false);
- assertEquals(0, getCurrentFocusedRow());
+ Assert.assertEquals(0, getCurrentFocusedRow());
hitEnterAndAssertAppMenuDismissed();
}
/**
* Test that hitting ENTER on the top item doesn't crash Chrome.
*/
+ @Test
@SmallTest
@Feature({"Browser", "Main"})
public void testKeyboardMenuEnterOnTopItemPortrait() {
- getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
+ mActivityTestRule.getActivity().setRequestedOrientation(
+ ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
showAppMenuAndAssertMenuShown();
moveToBoundary(true, false);
- assertEquals(0, getCurrentFocusedRow());
+ Assert.assertEquals(0, getCurrentFocusedRow());
hitEnterAndAssertAppMenuDismissed();
}
@@ -197,11 +215,14 @@ public class AppMenuTest extends ChromeActivityTestCaseBase<ChromeActivity> {
@SmallTest
@Feature({"Browser", "Main"})
*/
+ @Test
@DisabledTest(message = "crbug.com/458193")
public void testChangingOrientationHidesMenu() {
- getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
+ mActivityTestRule.getActivity().setRequestedOrientation(
+ ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
showAppMenuAndAssertMenuShown();
- getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
+ mActivityTestRule.getActivity().setRequestedOrientation(
+ ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
CriteriaHelper.pollInstrumentationThread(new Criteria("AppMenu did not dismiss") {
@Override
public boolean isSatisfied() {
@@ -226,7 +247,7 @@ public class AppMenuTest extends ChromeActivityTestCaseBase<ChromeActivity> {
}
private void hitEnterAndAssertAppMenuDismissed() {
- getInstrumentation().waitForIdleSync();
+ InstrumentationRegistry.getInstrumentation().waitForIdleSync();
pressKey(KeyEvent.KEYCODE_ENTER);
CriteriaHelper.pollInstrumentationThread(new Criteria("AppMenu did not dismiss") {
@Override
@@ -264,7 +285,7 @@ public class AppMenuTest extends ChromeActivityTestCaseBase<ChromeActivity> {
}
// The menu should stay open.
- assertTrue(mAppMenu.isShowing());
+ Assert.assertTrue(mAppMenu.isShowing());
}
private void pressKey(final int keycode) {
@@ -276,7 +297,7 @@ public class AppMenuTest extends ChromeActivityTestCaseBase<ChromeActivity> {
view.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, keycode));
}
});
- getInstrumentation().waitForIdleSync();
+ InstrumentationRegistry.getInstrumentation().waitForIdleSync();
}
private int getCurrentFocusedRow() {

Powered by Google App Engine
This is Rietveld 408576698