Index: remoting/client/normalizing_input_filter_win_unittest.cc |
diff --git a/remoting/client/normalizing_input_filter_win_unittest.cc b/remoting/client/normalizing_input_filter_win_unittest.cc |
deleted file mode 100644 |
index ee8ec3c9815ea918dcf76d74def5129a8d93e808..0000000000000000000000000000000000000000 |
--- a/remoting/client/normalizing_input_filter_win_unittest.cc |
+++ /dev/null |
@@ -1,220 +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 <stdint.h> |
- |
-#include "remoting/client/normalizing_input_filter_win.h" |
-#include "remoting/proto/event.pb.h" |
-#include "remoting/protocol/protocol_mock_objects.h" |
-#include "testing/gmock/include/gmock/gmock.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-using ::testing::InSequence; |
-using remoting::protocol::InputStub; |
-using remoting::protocol::KeyEvent; |
-using remoting::protocol::MockInputStub; |
-using remoting::protocol::MouseEvent; |
- |
-namespace remoting { |
- |
-namespace { |
- |
-const unsigned int kUsbKeyA = 0x070004; |
-const unsigned int kUsbLeftControl = 0x0700e0; |
-const unsigned int kUsbRightAlt = 0x0700e6; |
- |
-// A hardcoded value used to verify |lock_states| is preserved. |
-static const uint32_t kTestLockStates = protocol::KeyEvent::LOCK_STATES_NUMLOCK; |
- |
-MATCHER_P2(EqualsKeyEvent, usb_keycode, pressed, "") { |
- return arg.usb_keycode() == static_cast<uint32_t>(usb_keycode) && |
- arg.pressed() == pressed && arg.lock_states() == kTestLockStates; |
-} |
- |
-KeyEvent MakeKeyEvent(uint32_t keycode, bool pressed) { |
- KeyEvent event; |
- event.set_usb_keycode(keycode); |
- event.set_pressed(pressed); |
- event.set_lock_states(kTestLockStates); |
- return event; |
-} |
- |
-void PressAndReleaseKey(InputStub* input_stub, uint32_t keycode) { |
- input_stub->InjectKeyEvent(MakeKeyEvent(keycode, true)); |
- input_stub->InjectKeyEvent(MakeKeyEvent(keycode, false)); |
-} |
- |
-MATCHER_P2(EqualsMouseMoveEvent, x, y, "") { |
- return arg.x() == x && arg.y() == y; |
-} |
- |
-static MouseEvent MakeMouseMoveEvent(int x, int y) { |
- MouseEvent event; |
- event.set_x(x); |
- event.set_y(y); |
- return event; |
-} |
- |
-} // namespace |
- |
-// Test press/release of LeftControl, RightAlt, then LeftControl again. |
-TEST(NormalizingInputFilterWinTest, PressReleaseSequence) { |
- MockInputStub stub; |
- NormalizingInputFilterWin processor(&stub); |
- |
- { |
- InSequence s; |
- |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbLeftControl, true))); |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbLeftControl, false))); |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbRightAlt, true))); |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbRightAlt, false))); |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbLeftControl, true))); |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbLeftControl, false))); |
- } |
- |
- // Inject press & release events. |
- PressAndReleaseKey(&processor, kUsbLeftControl); |
- PressAndReleaseKey(&processor, kUsbRightAlt); |
- PressAndReleaseKey(&processor, kUsbLeftControl); |
-} |
- |
-// Test LeftControl key repeat causes it to be treated as LeftControl. |
-TEST(NormalizingInputFilterWinTest, LeftControlRepeats) { |
- MockInputStub stub; |
- NormalizingInputFilterWin processor(&stub); |
- |
- { |
- InSequence s; |
- |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbLeftControl, true))); |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbLeftControl, true))); |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbLeftControl, false))); |
- } |
- |
- // Inject a press and repeats for LeftControl, and verify that the repeats |
- // result in press events. |
- processor.InjectKeyEvent(MakeKeyEvent(kUsbLeftControl, true)); |
- processor.InjectKeyEvent(MakeKeyEvent(kUsbLeftControl, true)); |
- processor.InjectKeyEvent(MakeKeyEvent(kUsbLeftControl, false)); |
-} |
- |
-// Test LeftControl key pressed while pressing & releasing a printable key and |
-// then RightAlt treats it as LeftControl, not AltGr combo. |
-TEST(NormalizingInputFilterWinTest, LeftControlAndPrintableKey) { |
- MockInputStub stub; |
- NormalizingInputFilterWin processor(&stub); |
- |
- { |
- InSequence s; |
- |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbLeftControl, true))); |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbKeyA, true))); |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbKeyA, false))); |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbRightAlt, true))); |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbRightAlt, false))); |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbLeftControl, false))); |
- } |
- |
- // Inject a press for LeftControl, press and release a character key, then |
- // press RightAlt, and finally release LeftControl. |
- processor.InjectKeyEvent(MakeKeyEvent(kUsbLeftControl, true)); |
- PressAndReleaseKey(&processor, kUsbKeyA); |
- PressAndReleaseKey(&processor, kUsbRightAlt); |
- processor.InjectKeyEvent(MakeKeyEvent(kUsbLeftControl, false)); |
-} |
- |
-// Test LeftControl press followed by RightAlt press results in |
-// it being interpreted as AltGr, so only RightAlt events generated. |
-// Also press a printable key while AltGr is down to verify that doesn't |
-// confuse things. |
-TEST(NormalizingInputFilterWinTest, AltGr) { |
- MockInputStub stub; |
- NormalizingInputFilterWin processor(&stub); |
- |
- { |
- InSequence s; |
- |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbRightAlt, true))); |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbKeyA, true))); |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbKeyA, false))); |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbRightAlt, false))); |
- } |
- |
- // Hold LeftControl and then RightAlt, then release. |
- processor.InjectKeyEvent(MakeKeyEvent(kUsbLeftControl, true)); |
- processor.InjectKeyEvent(MakeKeyEvent(kUsbRightAlt, true)); |
- PressAndReleaseKey(&processor, kUsbKeyA); |
- processor.InjectKeyEvent(MakeKeyEvent(kUsbRightAlt, false)); |
- processor.InjectKeyEvent(MakeKeyEvent(kUsbLeftControl, false)); |
-} |
- |
-// Test LeftControl press followed by RightAlt press, and repeats results in |
-// it being interpreted as AltGr, so only RightAlt events generated. |
-TEST(NormalizingInputFilterWinTest, AltGrRepeats) { |
- MockInputStub stub; |
- NormalizingInputFilterWin processor(&stub); |
- |
- { |
- InSequence s; |
- |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbRightAlt, true))); |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbRightAlt, true))); |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbRightAlt, false))); |
- } |
- |
- // Hold LeftControl and then RightAlt, repeat, then release. Sequence |
- // reflects the order of events generated by Windows. |
- processor.InjectKeyEvent(MakeKeyEvent(kUsbLeftControl, true)); |
- processor.InjectKeyEvent(MakeKeyEvent(kUsbRightAlt, true)); |
- processor.InjectKeyEvent(MakeKeyEvent(kUsbLeftControl, true)); |
- processor.InjectKeyEvent(MakeKeyEvent(kUsbRightAlt, true)); |
- processor.InjectKeyEvent(MakeKeyEvent(kUsbRightAlt, false)); |
- processor.InjectKeyEvent(MakeKeyEvent(kUsbLeftControl, false)); |
-} |
- |
-// Test LeftControl held during mouse event treats it as LeftControl. |
-TEST(NormalizingInputFilterWinTest, LeftControlAndMouseEvent) { |
- MockInputStub stub; |
- NormalizingInputFilterWin processor(&stub); |
- |
- { |
- InSequence s; |
- |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbLeftControl, true))); |
- EXPECT_CALL(stub, InjectMouseEvent(EqualsMouseMoveEvent(0, 0))); |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbRightAlt, true))); |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbRightAlt, false))); |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbLeftControl, false))); |
- } |
- |
- // Hold the left Control while moving the mouse. |
- processor.InjectKeyEvent(MakeKeyEvent(kUsbLeftControl, true)); |
- processor.InjectMouseEvent(MakeMouseMoveEvent(0, 0)); |
- PressAndReleaseKey(&processor, kUsbRightAlt); |
- processor.InjectKeyEvent(MakeKeyEvent(kUsbLeftControl, false)); |
-} |
- |
-// Test LeftControl & RightAlt held during mouse event treats it as AltGr. |
-TEST(NormalizingInputFilterWinTest, AltGrAndMouseEvent) { |
- MockInputStub stub; |
- NormalizingInputFilterWin processor(&stub); |
- |
- { |
- InSequence s; |
- |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbRightAlt, true))); |
- EXPECT_CALL(stub, InjectMouseEvent(EqualsMouseMoveEvent(0, 0))); |
- EXPECT_CALL(stub, InjectKeyEvent(EqualsKeyEvent(kUsbRightAlt, false))); |
- } |
- |
- // Hold the left Control while moving the mouse. |
- processor.InjectKeyEvent(MakeKeyEvent(kUsbLeftControl, true)); |
- processor.InjectKeyEvent(MakeKeyEvent(kUsbRightAlt, true)); |
- processor.InjectMouseEvent(MakeMouseMoveEvent(0, 0)); |
- processor.InjectKeyEvent(MakeKeyEvent(kUsbRightAlt, false)); |
- processor.InjectKeyEvent(MakeKeyEvent(kUsbLeftControl, false)); |
-} |
- |
-} // namespace remoting |