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

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

Issue 1255583002: Move AppMenuTest from ChromeShellTest to ChromePublicTest (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 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_shell/src/org/chromium/chrome/browser/appmenu/AppMenuTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/appmenu/AppMenuTest.java
similarity index 80%
rename from chrome/android/javatests_shell/src/org/chromium/chrome/browser/appmenu/AppMenuTest.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/appmenu/AppMenuTest.java
index ccc4afb6736f99c3d1d88edc56aff391c961c461..c9675e9f186d4966693324552189cf28bee60380 100644
--- a/chrome/android/javatests_shell/src/org/chromium/chrome/browser/appmenu/AppMenuTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/appmenu/AppMenuTest.java
@@ -15,21 +15,27 @@ import android.widget.ListView;
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.chrome.shell.ChromeShellActivity;
-import org.chromium.chrome.shell.ChromeShellActivity.AppMenuHandlerFactory;
-import org.chromium.chrome.shell.ChromeShellTestBase;
-import org.chromium.chrome.shell.R;
+import org.chromium.base.test.util.UrlUtils;
+import org.chromium.chrome.R;
+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.util.ChromeTabUtils;
import org.chromium.content.browser.test.util.Criteria;
import org.chromium.content.browser.test.util.CriteriaHelper;
/**
* Tests AppMenu popup
*/
-public class AppMenuTest extends ChromeShellTestBase {
+public class AppMenuTest extends ChromeActivityTestCaseBase<ChromeActivity> {
+ private static final String TEST_URL = UrlUtils.encodeHtmlDataUri("<html>poit.</html>");
+
private AppMenu mAppMenu;
- private AppMenuHandlerForTest mAppMenuHandler;
+ private AppMenuHandler mAppMenuHandler;
/**
* AppMenuHandler that will be used to intercept item selections for testing.
@@ -50,22 +56,34 @@ public class AppMenuTest extends ChromeShellTestBase {
void onOptionsItemSelected(MenuItem item) {
mLastSelectedItemId = item.getItemId();
}
+ }
+ public AppMenuTest() {
+ super(ChromeActivity.class);
+ }
+
+ @Override
+ public void startMainActivity() throws InterruptedException {
+ startMainActivityWithURL(TEST_URL);
}
@Override
protected void setUp() throws Exception {
+ // We need list selection; ensure we are not in touch mode.
+ getInstrumentation().setInTouchMode(false);
+
+ ChromeActivity.setAppMenuHandlerFactoryForTesting(
+ new ChromeActivity.AppMenuHandlerFactory() {
+ @Override
+ public AppMenuHandler get(Activity activity, AppMenuPropertiesDelegate delegate,
+ int menuResourceId) {
+ mAppMenuHandler =
+ new AppMenuHandlerForTest(activity, delegate, menuResourceId);
+ return mAppMenuHandler;
+ }
+ });
+
super.setUp();
- ChromeShellActivity.setAppMenuHandlerFactory(new AppMenuHandlerFactory() {
- @Override
- public AppMenuHandler getAppMenuHandler(Activity activity,
- AppMenuPropertiesDelegate delegate, int menuResourceId) {
- mAppMenuHandler = new AppMenuHandlerForTest(activity, delegate, menuResourceId);
- return mAppMenuHandler;
- }
- });
- launchChromeShellWithBlankPage();
- assertTrue("Page failed to load", waitForActiveShellToBeDoneLoading());
showAppMenuAndAssertMenuShown();
mAppMenu = getActivity().getAppMenuHandler().getAppMenuForTest();
@@ -85,6 +103,20 @@ public class AppMenuTest extends ChromeShellTestBase {
}
/**
+ * Verify opening a new tab from the menu.
+ */
+ @CommandLineFlags.Add(ChromeSwitches.DISABLE_DOCUMENT_MODE)
+ @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,
+ tabCountBefore + 1 == tabCountAfter);
+ }
+
+ /**
* 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.
*/
@@ -181,11 +213,12 @@ public class AppMenuTest extends ChromeShellTestBase {
}
private void showAppMenuAndAssertMenuShown() throws InterruptedException {
- final View menuButton = getActivity().findViewById(R.id.menu_button);
+ final View anchor = getActivity().findViewById(R.id.menu_anchor_stub);
+
ThreadUtils.runOnUiThread(new Runnable() {
@Override
public void run() {
- menuButton.performClick();
+ mAppMenuHandler.showAppMenu(anchor, false, false);
}
});
assertTrue("AppMenu did not show",

Powered by Google App Engine
This is Rietveld 408576698