| 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));
|
| + }
|
| + });
|
| + }
|
| +}
|
|
|