| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "remoting/protocol/input_event_tracker.h" | 5 #include "remoting/protocol/input_event_tracker.h" |
| 6 | 6 |
| 7 #include "remoting/proto/event.pb.h" | 7 #include "remoting/proto/event.pb.h" |
| 8 #include "remoting/protocol/protocol_mock_objects.h" | 8 #include "remoting/protocol/protocol_mock_objects.h" |
| 9 #include "remoting/protocol/test_event_matchers.h" | 9 #include "remoting/protocol/test_event_matchers.h" |
| 10 #include "testing/gmock/include/gmock/gmock.h" | 10 #include "testing/gmock/include/gmock/gmock.h" |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 135 1, 1, BUTTON_RIGHT, false))).After(injects); | 135 1, 1, BUTTON_RIGHT, false))).After(injects); |
| 136 | 136 |
| 137 input_tracker.InjectKeyEvent(NewUsbEvent(3, true)); | 137 input_tracker.InjectKeyEvent(NewUsbEvent(3, true)); |
| 138 PressAndReleaseUsb(&input_tracker, 1); | 138 PressAndReleaseUsb(&input_tracker, 1); |
| 139 PressAndReleaseUsb(&input_tracker, 2); | 139 PressAndReleaseUsb(&input_tracker, 2); |
| 140 | 140 |
| 141 input_tracker.InjectMouseEvent(NewMouseEvent(0, 0, BUTTON_RIGHT, true)); | 141 input_tracker.InjectMouseEvent(NewMouseEvent(0, 0, BUTTON_RIGHT, true)); |
| 142 input_tracker.InjectMouseEvent(NewMouseEvent(0, 0, BUTTON_LEFT, true)); | 142 input_tracker.InjectMouseEvent(NewMouseEvent(0, 0, BUTTON_LEFT, true)); |
| 143 input_tracker.InjectMouseEvent(NewMouseEvent(1, 1, BUTTON_LEFT, false)); | 143 input_tracker.InjectMouseEvent(NewMouseEvent(1, 1, BUTTON_LEFT, false)); |
| 144 | 144 |
| 145 EXPECT_FALSE(input_tracker.IsKeyPressed(1)); | 145 EXPECT_FALSE(input_tracker.IsKeyPressed(static_cast<ui::DomCode>(1))); |
| 146 EXPECT_FALSE(input_tracker.IsKeyPressed(2)); | 146 EXPECT_FALSE(input_tracker.IsKeyPressed(static_cast<ui::DomCode>(2))); |
| 147 EXPECT_TRUE(input_tracker.IsKeyPressed(3)); | 147 EXPECT_TRUE(input_tracker.IsKeyPressed(static_cast<ui::DomCode>(3))); |
| 148 EXPECT_EQ(1, input_tracker.PressedKeyCount()); | 148 EXPECT_EQ(1, input_tracker.PressedKeyCount()); |
| 149 | 149 |
| 150 input_tracker.ReleaseAll(); | 150 input_tracker.ReleaseAll(); |
| 151 } | 151 } |
| 152 | 152 |
| 153 // Verify that we track both USB-based key events correctly. | 153 // Verify that we track both USB-based key events correctly. |
| 154 TEST(InputEventTrackerTest, TrackUsbKeyEvents) { | 154 TEST(InputEventTrackerTest, TrackUsbKeyEvents) { |
| 155 MockInputStub mock_stub; | 155 MockInputStub mock_stub; |
| 156 InputEventTracker input_tracker(&mock_stub); | 156 InputEventTracker input_tracker(&mock_stub); |
| 157 ExpectationSet injects; | 157 ExpectationSet injects; |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 189 InjectKeyEvent(EqualsKeyEventWithoutLockStates(5, false))) | 189 InjectKeyEvent(EqualsKeyEventWithoutLockStates(5, false))) |
| 190 .After(injects); | 190 .After(injects); |
| 191 | 191 |
| 192 input_tracker.InjectKeyEvent(NewUsbEvent(3, true)); | 192 input_tracker.InjectKeyEvent(NewUsbEvent(3, true)); |
| 193 input_tracker.InjectKeyEvent(NewUsbEvent(6, true)); | 193 input_tracker.InjectKeyEvent(NewUsbEvent(6, true)); |
| 194 input_tracker.InjectKeyEvent(NewUsbEvent(7, true)); | 194 input_tracker.InjectKeyEvent(NewUsbEvent(7, true)); |
| 195 input_tracker.InjectKeyEvent(NewUsbEvent(5, true)); | 195 input_tracker.InjectKeyEvent(NewUsbEvent(5, true)); |
| 196 input_tracker.InjectKeyEvent(NewUsbEvent(5, true)); | 196 input_tracker.InjectKeyEvent(NewUsbEvent(5, true)); |
| 197 PressAndReleaseUsb(&input_tracker, 2); | 197 PressAndReleaseUsb(&input_tracker, 2); |
| 198 | 198 |
| 199 EXPECT_FALSE(input_tracker.IsKeyPressed(1)); | 199 EXPECT_FALSE(input_tracker.IsKeyPressed(static_cast<ui::DomCode>(1))); |
| 200 EXPECT_FALSE(input_tracker.IsKeyPressed(2)); | 200 EXPECT_FALSE(input_tracker.IsKeyPressed(static_cast<ui::DomCode>(2))); |
| 201 EXPECT_TRUE(input_tracker.IsKeyPressed(3)); | 201 EXPECT_TRUE(input_tracker.IsKeyPressed(static_cast<ui::DomCode>(3))); |
| 202 EXPECT_TRUE(input_tracker.IsKeyPressed(5)); | 202 EXPECT_TRUE(input_tracker.IsKeyPressed(static_cast<ui::DomCode>(5))); |
| 203 EXPECT_TRUE(input_tracker.IsKeyPressed(6)); | 203 EXPECT_TRUE(input_tracker.IsKeyPressed(static_cast<ui::DomCode>(6))); |
| 204 EXPECT_TRUE(input_tracker.IsKeyPressed(7)); | 204 EXPECT_TRUE(input_tracker.IsKeyPressed(static_cast<ui::DomCode>(7))); |
| 205 EXPECT_EQ(4, input_tracker.PressedKeyCount()); | 205 EXPECT_EQ(4, input_tracker.PressedKeyCount()); |
| 206 | 206 |
| 207 input_tracker.ReleaseAll(); | 207 input_tracker.ReleaseAll(); |
| 208 } | 208 } |
| 209 | 209 |
| 210 // Verify that invalid events get passed through but not tracked. | 210 // Verify that invalid events get passed through but not tracked. |
| 211 TEST(InputEventTrackerTest, InvalidEventsNotTracked) { | 211 TEST(InputEventTrackerTest, InvalidEventsNotTracked) { |
| 212 MockInputStub mock_stub; | 212 MockInputStub mock_stub; |
| 213 InputEventTracker input_tracker(&mock_stub); | 213 InputEventTracker input_tracker(&mock_stub); |
| 214 ExpectationSet injects; | 214 ExpectationSet injects; |
| (...skipping 24 matching lines...) Expand all Loading... |
| 239 KeyEvent invalid_event1; | 239 KeyEvent invalid_event1; |
| 240 invalid_event1.set_pressed(true); | 240 invalid_event1.set_pressed(true); |
| 241 input_tracker.InjectKeyEvent(invalid_event1); | 241 input_tracker.InjectKeyEvent(invalid_event1); |
| 242 | 242 |
| 243 KeyEvent invalid_event2; | 243 KeyEvent invalid_event2; |
| 244 invalid_event2.set_usb_keycode(6); | 244 invalid_event2.set_usb_keycode(6); |
| 245 input_tracker.InjectKeyEvent(invalid_event2); | 245 input_tracker.InjectKeyEvent(invalid_event2); |
| 246 | 246 |
| 247 PressAndReleaseUsb(&input_tracker, 2); | 247 PressAndReleaseUsb(&input_tracker, 2); |
| 248 | 248 |
| 249 EXPECT_FALSE(input_tracker.IsKeyPressed(1)); | 249 EXPECT_FALSE(input_tracker.IsKeyPressed(static_cast<ui::DomCode>(1))); |
| 250 EXPECT_FALSE(input_tracker.IsKeyPressed(2)); | 250 EXPECT_FALSE(input_tracker.IsKeyPressed(static_cast<ui::DomCode>(2))); |
| 251 EXPECT_TRUE(input_tracker.IsKeyPressed(3)); | 251 EXPECT_TRUE(input_tracker.IsKeyPressed(static_cast<ui::DomCode>(3))); |
| 252 EXPECT_EQ(1, input_tracker.PressedKeyCount()); | 252 EXPECT_EQ(1, input_tracker.PressedKeyCount()); |
| 253 | 253 |
| 254 input_tracker.ReleaseAll(); | 254 input_tracker.ReleaseAll(); |
| 255 } | 255 } |
| 256 | 256 |
| 257 // All touch points added with multiple touch events should be released as a | 257 // All touch points added with multiple touch events should be released as a |
| 258 // cancel event. | 258 // cancel event. |
| 259 TEST(InputEventTrackerTest, ReleaseAllTouchPoints) { | 259 TEST(InputEventTrackerTest, ReleaseAllTouchPoints) { |
| 260 MockInputStub mock_stub; | 260 MockInputStub mock_stub; |
| 261 InputEventTracker input_tracker(&mock_stub); | 261 InputEventTracker input_tracker(&mock_stub); |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 346 TouchEvent cancel_event; | 346 TouchEvent cancel_event; |
| 347 cancel_event.set_event_type(TouchEvent::TOUCH_POINT_CANCEL); | 347 cancel_event.set_event_type(TouchEvent::TOUCH_POINT_CANCEL); |
| 348 AddTouchPoint(3, &cancel_event); | 348 AddTouchPoint(3, &cancel_event); |
| 349 input_tracker.InjectTouchEvent(cancel_event); | 349 input_tracker.InjectTouchEvent(cancel_event); |
| 350 | 350 |
| 351 input_tracker.ReleaseAll(); | 351 input_tracker.ReleaseAll(); |
| 352 } | 352 } |
| 353 | 353 |
| 354 } // namespace protocol | 354 } // namespace protocol |
| 355 } // namespace remoting | 355 } // namespace remoting |
| OLD | NEW |