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

Unified Diff: chrome/test/android/javatests_staging/src/org/chromium/chrome/test/util/MenuUtils.java

Issue 1141283003: Upstream oodles of Chrome for Android code into Chromium. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: final patch? Created 5 years, 7 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/test/android/javatests_staging/src/org/chromium/chrome/test/util/MenuUtils.java
diff --git a/chrome/test/android/javatests_staging/src/org/chromium/chrome/test/util/MenuUtils.java b/chrome/test/android/javatests_staging/src/org/chromium/chrome/test/util/MenuUtils.java
new file mode 100644
index 0000000000000000000000000000000000000000..f441b041957b155727bc33d20395f651a4bf4bea
--- /dev/null
+++ b/chrome/test/android/javatests_staging/src/org/chromium/chrome/test/util/MenuUtils.java
@@ -0,0 +1,59 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.test.util;
+
+import android.app.Instrumentation;
+
+import junit.framework.Assert;
+
+import org.chromium.chrome.browser.ChromeActivity;
+
+/**
+ * Collection of menu utilities.
+ */
+public class MenuUtils {
+ /**
+ * Trigger for a new activity based on a menu being pressed.
+ */
+ public static class MenuActivityTrigger implements Runnable {
+
+ private final Instrumentation mInstrumentation;
+ private final ChromeActivity mActivity;
+ private final int mMenuId;
+
+ public MenuActivityTrigger(Instrumentation instrumentation, ChromeActivity activity,
+ int menuId) {
+ mInstrumentation = instrumentation;
+ mActivity = activity;
+ mMenuId = menuId;
+ }
+
+ @Override
+ public void run() {
+ mInstrumentation.runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ Assert.assertTrue("Could not execute menu item.",
+ mActivity.onMenuOrKeyboardAction(mMenuId, true));
+ }
+ });
+ }
+ }
+
+ /**
+ * Execute a particular menu item from the custom menu.
+ * The item is executed even if it is disabled or not visible.
+ */
+ public static void invokeCustomMenuActionSync(Instrumentation instrumentation,
+ final ChromeActivity activity, final int id) {
+ instrumentation.runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ Assert.assertTrue("Could not execute menu item.",
+ activity.onMenuOrKeyboardAction(id, true));
+ }
+ });
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698