| Index: content/browser/renderer_host/input/web_input_event_builders_mac_unittest.mm
|
| diff --git a/content/browser/renderer_host/input/web_input_event_builders_mac_unittest.mm b/content/browser/renderer_host/input/web_input_event_builders_mac_unittest.mm
|
| deleted file mode 100644
|
| index a8fc507292ecb920ca95178ac24bbfbbe0adafb0..0000000000000000000000000000000000000000
|
| --- a/content/browser/renderer_host/input/web_input_event_builders_mac_unittest.mm
|
| +++ /dev/null
|
| @@ -1,163 +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.
|
| -
|
| -#include "content/browser/renderer_host/input/web_input_event_builders_mac.h"
|
| -
|
| -#import <Cocoa/Cocoa.h>
|
| -
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -#include "ui/events/keycodes/keyboard_codes.h"
|
| -
|
| -using blink::WebKeyboardEvent;
|
| -using blink::WebInputEvent;
|
| -using content::WebKeyboardEventBuilder;
|
| -
|
| -namespace {
|
| -
|
| -struct KeyMappingEntry {
|
| - int mac_key_code;
|
| - unichar character;
|
| - int windows_key_code;
|
| -};
|
| -
|
| -struct ModifierKey {
|
| - int mac_key_code;
|
| - int left_or_right_mask;
|
| - int non_specific_mask;
|
| -};
|
| -
|
| -// Modifier keys, grouped into left/right pairs.
|
| -const ModifierKey kModifierKeys[] = {
|
| - {56, 1 << 1, NSShiftKeyMask}, // Left Shift
|
| - {60, 1 << 2, NSShiftKeyMask}, // Right Shift
|
| - {55, 1 << 3, NSCommandKeyMask}, // Left Command
|
| - {54, 1 << 4, NSCommandKeyMask}, // Right Command
|
| - {58, 1 << 5, NSAlternateKeyMask}, // Left Alt
|
| - {61, 1 << 6, NSAlternateKeyMask}, // Right Alt
|
| - {59, 1 << 0, NSControlKeyMask}, // Left Control
|
| - {62, 1 << 13, NSControlKeyMask}, // Right Control
|
| -};
|
| -
|
| -NSEvent* BuildFakeKeyEvent(NSUInteger key_code,
|
| - unichar character,
|
| - NSUInteger modifier_flags,
|
| - NSEventType event_type) {
|
| - NSString* string = [NSString stringWithCharacters:&character length:1];
|
| - return [NSEvent keyEventWithType:event_type
|
| - location:NSZeroPoint
|
| - modifierFlags:modifier_flags
|
| - timestamp:0.0
|
| - windowNumber:0
|
| - context:nil
|
| - characters:string
|
| - charactersIgnoringModifiers:string
|
| - isARepeat:NO
|
| - keyCode:key_code];
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -// Test that arrow keys don't have numpad modifier set.
|
| -TEST(WebInputEventBuilderMacTest, ArrowKeyNumPad) {
|
| - // Left
|
| - NSEvent* mac_event = BuildFakeKeyEvent(0x7B, NSLeftArrowFunctionKey,
|
| - NSNumericPadKeyMask, NSKeyDown);
|
| - WebKeyboardEvent web_event = WebKeyboardEventBuilder::Build(mac_event);
|
| - EXPECT_EQ(0, web_event.modifiers);
|
| -
|
| - // Right
|
| - mac_event = BuildFakeKeyEvent(0x7C, NSRightArrowFunctionKey,
|
| - NSNumericPadKeyMask, NSKeyDown);
|
| - web_event = WebKeyboardEventBuilder::Build(mac_event);
|
| - EXPECT_EQ(0, web_event.modifiers);
|
| -
|
| - // Down
|
| - mac_event = BuildFakeKeyEvent(0x7D, NSDownArrowFunctionKey,
|
| - NSNumericPadKeyMask, NSKeyDown);
|
| - web_event = WebKeyboardEventBuilder::Build(mac_event);
|
| - EXPECT_EQ(0, web_event.modifiers);
|
| -
|
| - // Up
|
| - mac_event = BuildFakeKeyEvent(0x7E, NSUpArrowFunctionKey, NSNumericPadKeyMask,
|
| - NSKeyDown);
|
| - web_event = WebKeyboardEventBuilder::Build(mac_event);
|
| - EXPECT_EQ(0, web_event.modifiers);
|
| -}
|
| -
|
| -// Test that numpad keys get mapped correctly.
|
| -TEST(WebInputEventBuilderMacTest, NumPadMapping) {
|
| - KeyMappingEntry table[] = {
|
| - {65, '.', ui::VKEY_DECIMAL},
|
| - {67, '*', ui::VKEY_MULTIPLY},
|
| - {69, '+', ui::VKEY_ADD},
|
| - {71, NSClearLineFunctionKey, ui::VKEY_CLEAR},
|
| - {75, '/', ui::VKEY_DIVIDE},
|
| - {76, 3, ui::VKEY_RETURN},
|
| - {78, '-', ui::VKEY_SUBTRACT},
|
| - {81, '=', ui::VKEY_OEM_PLUS},
|
| - {82, '0', ui::VKEY_0},
|
| - {83, '1', ui::VKEY_1},
|
| - {84, '2', ui::VKEY_2},
|
| - {85, '3', ui::VKEY_3},
|
| - {86, '4', ui::VKEY_4},
|
| - {87, '5', ui::VKEY_5},
|
| - {88, '6', ui::VKEY_6},
|
| - {89, '7', ui::VKEY_7},
|
| - {91, '8', ui::VKEY_8},
|
| - {92, '9', ui::VKEY_9},
|
| - };
|
| -
|
| - for (size_t i = 0; i < arraysize(table); ++i) {
|
| - NSEvent* mac_event = BuildFakeKeyEvent(table[i].mac_key_code,
|
| - table[i].character, 0, NSKeyDown);
|
| - WebKeyboardEvent web_event = WebKeyboardEventBuilder::Build(mac_event);
|
| - EXPECT_EQ(table[i].windows_key_code, web_event.windowsKeyCode);
|
| - }
|
| -}
|
| -
|
| -// Test that left- and right-hand modifier keys are interpreted correctly when
|
| -// pressed simultaneously.
|
| -TEST(WebInputEventFactoryTestMac, SimultaneousModifierKeys) {
|
| - for (size_t i = 0; i < arraysize(kModifierKeys) / 2; ++i) {
|
| - const ModifierKey& left = kModifierKeys[2 * i];
|
| - const ModifierKey& right = kModifierKeys[2 * i + 1];
|
| - // Press the left key.
|
| - NSEvent* mac_event = BuildFakeKeyEvent(
|
| - left.mac_key_code, 0, left.left_or_right_mask | left.non_specific_mask,
|
| - NSFlagsChanged);
|
| - WebKeyboardEvent web_event = WebKeyboardEventBuilder::Build(mac_event);
|
| - EXPECT_EQ(WebInputEvent::RawKeyDown, web_event.type);
|
| - // Press the right key
|
| - mac_event =
|
| - BuildFakeKeyEvent(right.mac_key_code, 0,
|
| - left.left_or_right_mask | right.left_or_right_mask |
|
| - left.non_specific_mask,
|
| - NSFlagsChanged);
|
| - web_event = WebKeyboardEventBuilder::Build(mac_event);
|
| - EXPECT_EQ(WebInputEvent::RawKeyDown, web_event.type);
|
| - // Release the right key
|
| - mac_event = BuildFakeKeyEvent(
|
| - right.mac_key_code, 0, left.left_or_right_mask | left.non_specific_mask,
|
| - NSFlagsChanged);
|
| - // Release the left key
|
| - mac_event = BuildFakeKeyEvent(left.mac_key_code, 0, 0, NSFlagsChanged);
|
| - web_event = WebKeyboardEventBuilder::Build(mac_event);
|
| - EXPECT_EQ(WebInputEvent::KeyUp, web_event.type);
|
| - }
|
| -}
|
| -
|
| -// Test that individual modifier keys are still reported correctly, even if the
|
| -// undocumented left- or right-hand flags are not set.
|
| -TEST(WebInputEventBuilderMacTest, MissingUndocumentedModifierFlags) {
|
| - for (size_t i = 0; i < arraysize(kModifierKeys); ++i) {
|
| - const ModifierKey& key = kModifierKeys[i];
|
| - NSEvent* mac_event = BuildFakeKeyEvent(
|
| - key.mac_key_code, 0, key.non_specific_mask, NSFlagsChanged);
|
| - WebKeyboardEvent web_event = WebKeyboardEventBuilder::Build(mac_event);
|
| - EXPECT_EQ(WebInputEvent::RawKeyDown, web_event.type);
|
| - mac_event = BuildFakeKeyEvent(key.mac_key_code, 0, 0, NSFlagsChanged);
|
| - web_event = WebKeyboardEventBuilder::Build(mac_event);
|
| - EXPECT_EQ(WebInputEvent::KeyUp, web_event.type);
|
| - }
|
| -}
|
|
|