Index: content/public/android/junit/src/org/chromium/content/browser/input/GamepadMappingsTest.java |
diff --git a/content/public/android/junit/src/org/chromium/content/browser/input/GamepadMappingsTest.java b/content/public/android/junit/src/org/chromium/content/browser/input/GamepadMappingsTest.java |
deleted file mode 100644 |
index 58e16e7eb6d2ee511f37607e80a48d86732eb0d7..0000000000000000000000000000000000000000 |
--- a/content/public/android/junit/src/org/chromium/content/browser/input/GamepadMappingsTest.java |
+++ /dev/null |
@@ -1,309 +0,0 @@ |
-// 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.content.browser.input; |
- |
-import android.view.KeyEvent; |
-import android.view.MotionEvent; |
- |
-import org.chromium.base.test.util.Feature; |
-import org.chromium.testing.local.LocalRobolectricTestRunner; |
- |
-import org.junit.Assert; |
-import org.junit.Before; |
-import org.junit.Test; |
-import org.junit.runner.RunWith; |
- |
-import org.robolectric.annotation.Config; |
- |
-import java.util.Arrays; |
-import java.util.BitSet; |
- |
-/** |
- * Verify no regressions in gamepad mappings. |
- */ |
-@RunWith(LocalRobolectricTestRunner.class) |
-@Config(manifest = Config.NONE) |
-public class GamepadMappingsTest { |
- private static final float ERROR_TOLERANCE = 0.000001f; |
- /** |
- * Set bits indicate that we don't expect the button at mMappedButtons[index] to be mapped. |
- */ |
- private BitSet mUnmappedButtons = new BitSet(CanonicalButtonIndex.COUNT); |
- /** |
- * Set bits indicate that we don't expect the axis at mMappedAxes[index] to be mapped. |
- */ |
- private BitSet mUnmappedAxes = new BitSet(CanonicalAxisIndex.COUNT); |
- private float[] mMappedButtons = new float[CanonicalButtonIndex.COUNT]; |
- private float[] mMappedAxes = new float[CanonicalAxisIndex.COUNT]; |
- private float[] mRawButtons = new float[GamepadDevice.MAX_RAW_BUTTON_VALUES]; |
- private float[] mRawAxes = new float[GamepadDevice.MAX_RAW_AXIS_VALUES]; |
- |
- @Before |
- public void setUp() throws Exception { |
- |
- // By default, we expect every button and axis to be mapped. |
- mUnmappedButtons.clear(); |
- mUnmappedAxes.clear(); |
- |
- // Start with all the mapped values as unmapped. |
- Arrays.fill(mMappedButtons, Float.NaN); |
- Arrays.fill(mMappedAxes, Float.NaN); |
- |
- // Set each raw value to something unique. |
- for (int i = 0; i < GamepadDevice.MAX_RAW_AXIS_VALUES; i++) { |
- mRawAxes[i] = -i - 1.0f; |
- } |
- for (int i = 0; i < GamepadDevice.MAX_RAW_BUTTON_VALUES; i++) { |
- mRawButtons[i] = i + 1.0f; |
- } |
- } |
- |
- @Test |
- @Feature({"Gamepad"}) |
- public void testShieldGamepadMappings() throws Exception { |
- GamepadMappings.mapToStandardGamepad(mMappedAxes, mMappedButtons, mRawAxes, mRawButtons, |
- GamepadMappings.NVIDIA_SHIELD_DEVICE_NAME_PREFIX); |
- |
- assertShieldGamepadMappings(); |
- } |
- |
- @Test |
- @Feature({"Gamepad"}) |
- public void testXBox360GamepadMappings() throws Exception { |
- GamepadMappings.mapToStandardGamepad(mMappedAxes, mMappedButtons, mRawAxes, mRawButtons, |
- GamepadMappings.MICROSOFT_XBOX_PAD_DEVICE_NAME); |
- |
- assertShieldGamepadMappings(); |
- } |
- |
- @Test |
- @Feature({"Gamepad"}) |
- public void testPS3SixAxisGamepadMappings() throws Exception { |
- GamepadMappings.mapToStandardGamepad(mMappedAxes, mMappedButtons, mRawAxes, mRawButtons, |
- GamepadMappings.PS3_SIXAXIS_DEVICE_NAME); |
- |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.PRIMARY], |
- mRawButtons[KeyEvent.KEYCODE_BUTTON_X], ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.SECONDARY], |
- mRawButtons[KeyEvent.KEYCODE_BUTTON_Y], ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.TERTIARY], |
- mRawButtons[KeyEvent.KEYCODE_BUTTON_A], ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.QUATERNARY], |
- mRawButtons[KeyEvent.KEYCODE_BUTTON_B], ERROR_TOLERANCE); |
- |
- assertMappedCommonTriggerButtons(); |
- assertMappedCommonThumbstickButtons(); |
- assertMappedCommonDpadButtons(); |
- assertMappedCommonStartSelectMetaButtons(); |
- assertMappedTriggerAxexToShoulderButtons(); |
- assertMappedXYAxes(); |
- assertMappedZAndRZAxesToRightStick(); |
- |
- assertMapping(); |
- } |
- |
- @Test |
- @Feature({"Gamepad"}) |
- public void testSamsungEIGP20GamepadMappings() throws Exception { |
- GamepadMappings.mapToStandardGamepad(mMappedAxes, mMappedButtons, mRawAxes, mRawButtons, |
- GamepadMappings.SAMSUNG_EI_GP20_DEVICE_NAME); |
- |
- assertMappedCommonXYABButtons(); |
- assertMappedCommonTriggerButtons(); |
- assertMappedCommonThumbstickButtons(); |
- assertMappedCommonStartSelectMetaButtons(); |
- assertMappedHatAxisToDpadButtons(); |
- assertMappedXYAxes(); |
- assertMappedRXAndRYAxesToRightStick(); |
- |
- expectNoShoulderButtons(); |
- assertMapping(); |
- } |
- |
- @Test |
- @Feature({"Gamepad"}) |
- public void testAmazonFireGamepadMappings() throws Exception { |
- GamepadMappings.mapToStandardGamepad(mMappedAxes, mMappedButtons, mRawAxes, mRawButtons, |
- GamepadMappings.AMAZON_FIRE_DEVICE_NAME); |
- |
- assertMappedCommonXYABButtons(); |
- assertMappedPedalAxesToBottomShoulder(); |
- assertMappedCommonThumbstickButtons(); |
- assertMappedCommonStartSelectMetaButtons(); |
- assertMappedTriggerButtonsToTopShoulder(); |
- assertMappedHatAxisToDpadButtons(); |
- assertMappedXYAxes(); |
- assertMappedZAndRZAxesToRightStick(); |
- |
- assertMapping(); |
- } |
- |
- @Test |
- @Feature({"Gamepad"}) |
- public void testUnknownGamepadMappings() throws Exception { |
- GamepadMappings.mapToStandardGamepad( |
- mMappedAxes, mMappedButtons, mRawAxes, mRawButtons, ""); |
- |
- assertMappedCommonXYABButtons(); |
- assertMappedCommonTriggerButtons(); |
- assertMappedCommonThumbstickButtons(); |
- assertMappedCommonStartSelectMetaButtons(); |
- assertMappedTriggerAxexToShoulderButtons(); |
- assertMappedCommonDpadButtons(); |
- assertMappedXYAxes(); |
- assertMappedRXAndRYAxesToRightStick(); |
- |
- assertMapping(); |
- } |
- |
- /** |
- * Asserts that the current gamepad mapping being tested matches the shield mappings. |
- */ |
- public void assertShieldGamepadMappings() { |
- assertMappedCommonXYABButtons(); |
- assertMappedTriggerButtonsToTopShoulder(); |
- assertMappedCommonThumbstickButtons(); |
- assertMappedCommonStartSelectMetaButtons(); |
- assertMappedTriggerAxesToBottomShoulder(); |
- assertMappedHatAxisToDpadButtons(); |
- assertMappedXYAxes(); |
- assertMappedZAndRZAxesToRightStick(); |
- |
- assertMapping(); |
- } |
- |
- public void expectNoShoulderButtons() { |
- mUnmappedButtons.set(CanonicalButtonIndex.LEFT_SHOULDER); |
- mUnmappedButtons.set(CanonicalButtonIndex.RIGHT_SHOULDER); |
- } |
- |
- public void assertMapping() { |
- for (int i = 0; i < mMappedAxes.length; i++) { |
- if (mUnmappedAxes.get(i)) { |
- Assert.assertTrue( |
- "An unexpected axis was mapped at index " + i, Float.isNaN(mMappedAxes[i])); |
- } else { |
- Assert.assertFalse( |
- "An axis was not mapped at index " + i, Float.isNaN(mMappedAxes[i])); |
- } |
- } |
- for (int i = 0; i < mMappedButtons.length; i++) { |
- if (mUnmappedButtons.get(i)) { |
- Assert.assertTrue("An unexpected button was mapped at index " + i, |
- Float.isNaN(mMappedButtons[i])); |
- } else { |
- Assert.assertFalse( |
- "A button was not mapped at index " + i, Float.isNaN(mMappedButtons[i])); |
- } |
- } |
- } |
- |
- private void assertMappedCommonTriggerButtons() { |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.LEFT_TRIGGER], |
- mRawButtons[KeyEvent.KEYCODE_BUTTON_L1], ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.RIGHT_TRIGGER], |
- mRawButtons[KeyEvent.KEYCODE_BUTTON_R1], ERROR_TOLERANCE); |
- } |
- |
- private void assertMappedCommonDpadButtons() { |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.DPAD_DOWN], |
- mRawButtons[KeyEvent.KEYCODE_DPAD_DOWN], ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.DPAD_UP], |
- mRawButtons[KeyEvent.KEYCODE_DPAD_UP], ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.DPAD_LEFT], |
- mRawButtons[KeyEvent.KEYCODE_DPAD_LEFT], ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.DPAD_RIGHT], |
- mRawButtons[KeyEvent.KEYCODE_DPAD_RIGHT], ERROR_TOLERANCE); |
- } |
- |
- private void assertMappedTriggerAxexToShoulderButtons() { |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.LEFT_SHOULDER], |
- mRawAxes[MotionEvent.AXIS_LTRIGGER], ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.RIGHT_SHOULDER], |
- mRawAxes[MotionEvent.AXIS_RTRIGGER], ERROR_TOLERANCE); |
- } |
- |
- private void assertMappedTriggerButtonsToTopShoulder() { |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.LEFT_SHOULDER], |
- mRawButtons[KeyEvent.KEYCODE_BUTTON_L1], ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.RIGHT_SHOULDER], |
- mRawButtons[KeyEvent.KEYCODE_BUTTON_R1], ERROR_TOLERANCE); |
- } |
- |
- private void assertMappedCommonXYABButtons() { |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.PRIMARY], |
- mRawButtons[KeyEvent.KEYCODE_BUTTON_A], ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.SECONDARY], |
- mRawButtons[KeyEvent.KEYCODE_BUTTON_B], ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.TERTIARY], |
- mRawButtons[KeyEvent.KEYCODE_BUTTON_X], ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.QUATERNARY], |
- mRawButtons[KeyEvent.KEYCODE_BUTTON_Y], ERROR_TOLERANCE); |
- } |
- |
- private void assertMappedCommonThumbstickButtons() { |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.LEFT_THUMBSTICK], |
- mRawButtons[KeyEvent.KEYCODE_BUTTON_THUMBL], ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.RIGHT_THUMBSTICK], |
- mRawButtons[KeyEvent.KEYCODE_BUTTON_THUMBR], ERROR_TOLERANCE); |
- } |
- |
- private void assertMappedCommonStartSelectMetaButtons() { |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.START], |
- mRawButtons[KeyEvent.KEYCODE_BUTTON_START], ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.BACK_SELECT], |
- mRawButtons[KeyEvent.KEYCODE_BUTTON_SELECT], ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.META], |
- mRawButtons[KeyEvent.KEYCODE_BUTTON_MODE], ERROR_TOLERANCE); |
- } |
- |
- private void assertMappedPedalAxesToBottomShoulder() { |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.LEFT_TRIGGER], |
- mRawAxes[MotionEvent.AXIS_BRAKE], ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.RIGHT_TRIGGER], |
- mRawAxes[MotionEvent.AXIS_GAS], ERROR_TOLERANCE); |
- } |
- |
- private void assertMappedTriggerAxesToBottomShoulder() { |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.LEFT_TRIGGER], |
- mRawAxes[MotionEvent.AXIS_LTRIGGER], ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.RIGHT_TRIGGER], |
- mRawAxes[MotionEvent.AXIS_RTRIGGER], ERROR_TOLERANCE); |
- } |
- |
- private void assertMappedHatAxisToDpadButtons() { |
- float hatX = mRawAxes[MotionEvent.AXIS_HAT_X]; |
- float hatY = mRawAxes[MotionEvent.AXIS_HAT_Y]; |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.DPAD_LEFT], |
- GamepadMappings.negativeAxisValueAsButton(hatX), ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.DPAD_RIGHT], |
- GamepadMappings.positiveAxisValueAsButton(hatX), ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.DPAD_UP], |
- GamepadMappings.negativeAxisValueAsButton(hatY), ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedButtons[CanonicalButtonIndex.DPAD_DOWN], |
- GamepadMappings.positiveAxisValueAsButton(hatY), ERROR_TOLERANCE); |
- } |
- |
- private void assertMappedXYAxes() { |
- Assert.assertEquals(mMappedAxes[CanonicalAxisIndex.LEFT_STICK_X], |
- mRawAxes[MotionEvent.AXIS_X], ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedAxes[CanonicalAxisIndex.LEFT_STICK_Y], |
- mRawAxes[MotionEvent.AXIS_Y], ERROR_TOLERANCE); |
- } |
- |
- private void assertMappedRXAndRYAxesToRightStick() { |
- Assert.assertEquals(mMappedAxes[CanonicalAxisIndex.RIGHT_STICK_X], |
- mRawAxes[MotionEvent.AXIS_RX], ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedAxes[CanonicalAxisIndex.RIGHT_STICK_Y], |
- mRawAxes[MotionEvent.AXIS_RY], ERROR_TOLERANCE); |
- } |
- |
- private void assertMappedZAndRZAxesToRightStick() { |
- Assert.assertEquals(mMappedAxes[CanonicalAxisIndex.RIGHT_STICK_X], |
- mRawAxes[MotionEvent.AXIS_Z], ERROR_TOLERANCE); |
- Assert.assertEquals(mMappedAxes[CanonicalAxisIndex.RIGHT_STICK_Y], |
- mRawAxes[MotionEvent.AXIS_RZ], ERROR_TOLERANCE); |
- } |
-} |