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

Unified Diff: content/public/android/junit/src/org/chromium/content/browser/input/GamepadMappingsTest.java

Issue 2081583002: Migrating majority of gamepad from content/browser/ to device/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Final tweaks Created 4 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: 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);
- }
-}

Powered by Google App Engine
This is Rietveld 408576698