Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4075fd9c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix broken MenuItem coretests"

parents cbd757a7 d70d2e6e
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -240,14 +240,17 @@ public final class MenuItemImpl implements MenuItem {
        return this;
    }

    @Override
    public char getAlphabeticShortcut() {
        return mShortcutAlphabeticChar;
    }

    @Override
    public int getAlphabeticModifiers() {
        return mShortcutAlphabeticModifiers;
    }

    @Override
    public MenuItem setAlphabeticShortcut(char alphaChar) {
        if (mShortcutAlphabeticChar == alphaChar) return this;

@@ -258,6 +261,7 @@ public final class MenuItemImpl implements MenuItem {
        return this;
    }

    @Override
    public MenuItem setAlphabeticShortcut(char alphaChar, int alphaModifiers){
        if (mShortcutAlphabeticChar == alphaChar &&
                mShortcutAlphabeticModifiers == alphaModifiers) {
@@ -272,14 +276,17 @@ public final class MenuItemImpl implements MenuItem {
        return this;
    }

    @Override
    public char getNumericShortcut() {
        return mShortcutNumericChar;
    }

    @Override
    public int getNumericModifiers() {
        return mShortcutNumericModifiers;
    }

    @Override
    public MenuItem setNumericShortcut(char numericChar) {
        if (mShortcutNumericChar == numericChar) return this;

@@ -290,6 +297,7 @@ public final class MenuItemImpl implements MenuItem {
        return this;
    }

    @Override
    public MenuItem setNumericShortcut(char numericChar, int numericModifiers){
        if (mShortcutNumericChar == numericChar && mShortcutNumericModifiers == numericModifiers) {
            return this;
@@ -303,6 +311,7 @@ public final class MenuItemImpl implements MenuItem {
        return this;
    }

    @Override
    public MenuItem setShortcut(char numericChar, char alphaChar) {
        mShortcutNumericChar = numericChar;
        mShortcutAlphabeticChar = Character.toLowerCase(alphaChar);
@@ -312,7 +321,8 @@ public final class MenuItemImpl implements MenuItem {
        return this;
    }

    public MenuItem setShortcut(char numericChar, int numericModifiers, char alphaChar,
    @Override
    public MenuItem setShortcut(char numericChar, char alphaChar, int numericModifiers,
            int alphaModifiers) {
        mShortcutNumericChar = numericChar;
        mShortcutNumericModifiers = KeyEvent.normalizeMetaState(numericModifiers);
+3 −84
Original line number Diff line number Diff line
@@ -16,20 +16,13 @@

package android.view;

import com.android.internal.view.menu.MenuBuilder;

import junit.framework.Assert;

import android.test.AndroidTestCase;
import android.test.MoreAsserts;
import android.test.suitebuilder.annotation.LargeTest;
import android.test.suitebuilder.annotation.SmallTest;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;

import com.android.frameworks.coretests.R;
import com.android.internal.view.menu.MenuBuilder;

import junit.framework.Assert;

public class MenuTest extends AndroidTestCase {

@@ -84,80 +77,6 @@ public class MenuTest extends AndroidTestCase {
        //adding and removing, hiding and showing, etc.
    }

    @SmallTest
    public void testIsShortcutWithAlpha() throws Exception {
        mMenu.setQwertyMode(true);
        mMenu.add(0, 0, 0, "test").setShortcut('2', 'a');
        Assert.assertTrue(mMenu.isShortcutKey(KeyEvent.KEYCODE_A,
                                              makeKeyEvent(KeyEvent.KEYCODE_A,  0)));
        Assert.assertFalse(mMenu.isShortcutKey(KeyEvent.KEYCODE_B,
                                               makeKeyEvent(KeyEvent.KEYCODE_B,  0)));
    }

    @SmallTest
    public void testIsShortcutWithNumeric() throws Exception {
        mMenu.setQwertyMode(false);
        mMenu.add(0, 0, 0, "test").setShortcut('2', 'a');
        Assert.assertTrue(mMenu.isShortcutKey(KeyEvent.KEYCODE_2,
                                              makeKeyEvent(KeyEvent.KEYCODE_2,  0)));
        Assert.assertFalse(mMenu.isShortcutKey(KeyEvent.KEYCODE_A,
                                               makeKeyEvent(KeyEvent.KEYCODE_A,  0)));
    }

    @SmallTest
    public void testIsShortcutWithAlt() throws Exception {
        mMenu.setQwertyMode(true);
        mMenu.add(0, 0, 0, "test").setShortcut('2', 'a');
        Assert.assertTrue(mMenu.isShortcutKey(KeyEvent.KEYCODE_A,
                                              makeKeyEvent(KeyEvent.KEYCODE_A,
                                                           KeyEvent.META_ALT_ON)));
        Assert.assertFalse(mMenu.isShortcutKey(KeyEvent.KEYCODE_A,
                                              makeKeyEvent(KeyEvent.KEYCODE_A,
                                                           KeyEvent.META_SYM_ON)));
    }

    @SmallTest
    public void testIsNotShortcutWithShift() throws Exception {
        mMenu.setQwertyMode(true);
        mMenu.add(0, 0, 0, "test").setShortcut('2', 'a');
        Assert.assertFalse(mMenu.isShortcutKey(KeyEvent.KEYCODE_A,
                                              makeKeyEvent(KeyEvent.KEYCODE_A,
                                                           KeyEvent.META_SHIFT_ON)));
    }

    @SmallTest
    public void testIsNotShortcutWithSym() throws Exception {
        mMenu.setQwertyMode(true);
        mMenu.add(0, 0, 0, "test").setShortcut('2', 'a');
        Assert.assertFalse(mMenu.isShortcutKey(KeyEvent.KEYCODE_A,
                                              makeKeyEvent(KeyEvent.KEYCODE_A,
                                                           KeyEvent.META_SYM_ON)));
    }
    
    @SmallTest
    public void testIsShortcutWithUpperCaseAlpha() throws Exception {
        mMenu.setQwertyMode(true);
        mMenu.add(0, 0, 0, "test").setShortcut('2', 'A');
        Assert.assertTrue(mMenu.isShortcutKey(KeyEvent.KEYCODE_A,
                                              makeKeyEvent(KeyEvent.KEYCODE_A,  0)));
    }

    @SmallTest
    public void testIsShortcutWithBackspace() throws Exception {
        mMenu.setQwertyMode(true);
        mMenu.add(0, 0, 0, "test").setShortcut('2', '\b');
        Assert.assertTrue(mMenu.isShortcutKey(KeyEvent.KEYCODE_DEL,
                                              makeKeyEvent(KeyEvent.KEYCODE_DEL,  0)));
    }

    @SmallTest
    public void testIsShortcutWithNewline() throws Exception {
        mMenu.setQwertyMode(true);
        mMenu.add(0, 0, 0, "test").setShortcut('2', '\n');
        Assert.assertTrue(mMenu.isShortcutKey(KeyEvent.KEYCODE_ENTER,
                                              makeKeyEvent(KeyEvent.KEYCODE_ENTER,  0)));
    }
    
    @SmallTest
    public void testOrder() {
        final String a = "a", b = "b", c = "c";