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 "base/memory/scoped_ptr.h" | 5 #include "base/memory/scoped_ptr.h" |
6 #include "testing/gtest/include/gtest/gtest.h" | 6 #include "testing/gtest/include/gtest/gtest.h" |
7 #include "ui/events/event.h" | 7 #include "ui/events/event.h" |
8 #include "ui/events/event_utils.h" | 8 #include "ui/events/event_utils.h" |
9 #include "ui/events/keycodes/dom4/keycode_converter.h" | 9 #include "ui/events/keycodes/dom4/keycode_converter.h" |
10 #include "ui/events/test/events_test_utils.h" | 10 #include "ui/events/test/events_test_utils.h" |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 | 58 |
59 TEST(EventTest, ClickCount) { | 59 TEST(EventTest, ClickCount) { |
60 const gfx::Point origin(0, 0); | 60 const gfx::Point origin(0, 0); |
61 MouseEvent mouseev(ET_MOUSE_PRESSED, origin, origin, 0, 0); | 61 MouseEvent mouseev(ET_MOUSE_PRESSED, origin, origin, 0, 0); |
62 for (int i = 1; i <=3 ; ++i) { | 62 for (int i = 1; i <=3 ; ++i) { |
63 mouseev.SetClickCount(i); | 63 mouseev.SetClickCount(i); |
64 EXPECT_EQ(i, mouseev.GetClickCount()); | 64 EXPECT_EQ(i, mouseev.GetClickCount()); |
65 } | 65 } |
66 } | 66 } |
67 | 67 |
68 TEST(EventTest, Repeated) { | 68 TEST(EventTest, RepeatedClick) { |
69 const gfx::Point origin(0, 0); | 69 const gfx::Point origin(0, 0); |
70 MouseEvent mouse_ev1(ET_MOUSE_PRESSED, origin, origin, 0, 0); | 70 MouseEvent mouse_ev1(ET_MOUSE_PRESSED, origin, origin, 0, 0); |
71 MouseEvent mouse_ev2(ET_MOUSE_PRESSED, origin, origin, 0, 0); | 71 MouseEvent mouse_ev2(ET_MOUSE_PRESSED, origin, origin, 0, 0); |
72 LocatedEventTestApi test_ev1(&mouse_ev1); | 72 LocatedEventTestApi test_ev1(&mouse_ev1); |
73 LocatedEventTestApi test_ev2(&mouse_ev2); | 73 LocatedEventTestApi test_ev2(&mouse_ev2); |
74 | 74 |
75 base::TimeDelta start = base::TimeDelta::FromMilliseconds(0); | 75 base::TimeDelta start = base::TimeDelta::FromMilliseconds(0); |
76 base::TimeDelta soon = start + base::TimeDelta::FromMilliseconds(1); | 76 base::TimeDelta soon = start + base::TimeDelta::FromMilliseconds(1); |
77 base::TimeDelta later = start + base::TimeDelta::FromMilliseconds(1000); | 77 base::TimeDelta later = start + base::TimeDelta::FromMilliseconds(1000); |
78 | 78 |
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
324 | 324 |
325 MSG native_event = { NULL, WM_KEYUP, VKEY_HOME, lParam }; | 325 MSG native_event = { NULL, WM_KEYUP, VKEY_HOME, lParam }; |
326 KeyEvent key(native_event, false); | 326 KeyEvent key(native_event, false); |
327 | 327 |
328 // KeyEvent converts from the native keycode (scan code) to the code. | 328 // KeyEvent converts from the native keycode (scan code) to the code. |
329 EXPECT_EQ(kCodeForHome, key.code()); | 329 EXPECT_EQ(kCodeForHome, key.code()); |
330 } | 330 } |
331 #endif // OS_WIN | 331 #endif // OS_WIN |
332 } | 332 } |
333 | 333 |
| 334 #if defined(USE_X11) || defined(OS_WIN) |
| 335 TEST(EventTest, AutoRepeat) { |
| 336 KeycodeConverter* conv = KeycodeConverter::GetInstance(); |
| 337 |
| 338 const uint16 kNativeCodeA = conv->CodeToNativeKeycode("KeyA"); |
| 339 const uint16 kNativeCodeB = conv->CodeToNativeKeycode("KeyB"); |
| 340 #if defined(USE_X11) |
| 341 ScopedXI2Event native_event_a_pressed; |
| 342 native_event_a_pressed.InitKeyEvent(ET_KEY_PRESSED, VKEY_A, kNativeCodeA); |
| 343 ScopedXI2Event native_event_a_released; |
| 344 native_event_a_released.InitKeyEvent(ET_KEY_RELEASED, VKEY_A, kNativeCodeA); |
| 345 ScopedXI2Event native_event_b_pressed; |
| 346 native_event_b_pressed.InitKeyEvent(ET_KEY_PRESSED, VKEY_B, kNativeCodeB); |
| 347 #elif defined(OS_WIN) |
| 348 const LPARAM lParam_a = GetLParamFromScanCode(kNativeCodeA); |
| 349 const LPARAM lParam_b = GetLParamFromScanCode(kNativeCodeB); |
| 350 MSG native_event_a_pressed = { NULL, WM_KEYDOWN, VKEY_A, lParam_a }; |
| 351 MSG native_event_a_released = { NULL, WM_KEYUP, VKEY_A, lParam_a }; |
| 352 MSG native_event_b_pressed = { NULL, WM_KEYUP, VKEY_B, lParam_b }; |
| 353 #endif |
| 354 KeyEvent key_a1(native_event_a_pressed, false); |
| 355 DCHECK(!key_a1.IsRepeat()); |
| 356 KeyEvent key_a1_released(native_event_a_released, false); |
| 357 DCHECK(!key_a1_released.IsRepeat()); |
| 358 |
| 359 KeyEvent key_a2(native_event_a_pressed, false); |
| 360 DCHECK(!key_a2.IsRepeat()); |
| 361 KeyEvent key_a2_repeated(native_event_a_pressed, false); |
| 362 DCHECK(key_a2_repeated.IsRepeat()); |
| 363 KeyEvent key_a2_released(native_event_a_released, false); |
| 364 DCHECK(!key_a2_released.IsRepeat()); |
| 365 |
| 366 KeyEvent key_a3(native_event_a_pressed, false); |
| 367 DCHECK(!key_a3.IsRepeat()); |
| 368 KeyEvent key_b(native_event_b_pressed, false); |
| 369 DCHECK(!key_b.IsRepeat()); |
| 370 KeyEvent key_a3_again(native_event_a_pressed, false); |
| 371 DCHECK(!key_a3_again.IsRepeat()); |
| 372 KeyEvent key_a3_repeated(native_event_a_pressed, false); |
| 373 DCHECK(key_a3_repeated.IsRepeat()); |
| 374 KeyEvent key_a3_repeated2(native_event_a_pressed, false); |
| 375 DCHECK(key_a3_repeated2.IsRepeat()); |
| 376 KeyEvent key_a3_released(native_event_a_released, false); |
| 377 DCHECK(!key_a3_released.IsRepeat()); |
| 378 } |
| 379 #endif // USE_X11 || OS_WIN |
| 380 |
334 } // namespace ui | 381 } // namespace ui |
OLD | NEW |