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 <stddef.h> | 5 #include <stddef.h> |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 | 7 |
8 #include "base/macros.h" | 8 #include "base/macros.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "build/build_config.h" | 10 #include "build/build_config.h" |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
183 } | 183 } |
184 | 184 |
185 TEST(EventTest, KeyEvent) { | 185 TEST(EventTest, KeyEvent) { |
186 static const struct { | 186 static const struct { |
187 KeyboardCode key_code; | 187 KeyboardCode key_code; |
188 int flags; | 188 int flags; |
189 uint16_t character; | 189 uint16_t character; |
190 } kTestData[] = { | 190 } kTestData[] = { |
191 { VKEY_A, 0, 'a' }, | 191 { VKEY_A, 0, 'a' }, |
192 { VKEY_A, EF_SHIFT_DOWN, 'A' }, | 192 { VKEY_A, EF_SHIFT_DOWN, 'A' }, |
193 { VKEY_A, EF_CAPS_LOCK_DOWN, 'A' }, | 193 { VKEY_A, EF_CAPS_LOCK_ON, 'A' }, |
194 { VKEY_A, EF_SHIFT_DOWN | EF_CAPS_LOCK_DOWN, 'a' }, | 194 { VKEY_A, EF_SHIFT_DOWN | EF_CAPS_LOCK_ON, 'a' }, |
195 { VKEY_A, EF_CONTROL_DOWN, 0x01 }, | 195 { VKEY_A, EF_CONTROL_DOWN, 0x01 }, |
196 { VKEY_A, EF_SHIFT_DOWN | EF_CONTROL_DOWN, '\x01' }, | 196 { VKEY_A, EF_SHIFT_DOWN | EF_CONTROL_DOWN, '\x01' }, |
197 { VKEY_Z, 0, 'z' }, | 197 { VKEY_Z, 0, 'z' }, |
198 { VKEY_Z, EF_SHIFT_DOWN, 'Z' }, | 198 { VKEY_Z, EF_SHIFT_DOWN, 'Z' }, |
199 { VKEY_Z, EF_CAPS_LOCK_DOWN, 'Z' }, | 199 { VKEY_Z, EF_CAPS_LOCK_ON, 'Z' }, |
200 { VKEY_Z, EF_SHIFT_DOWN | EF_CAPS_LOCK_DOWN, 'z' }, | 200 { VKEY_Z, EF_SHIFT_DOWN | EF_CAPS_LOCK_ON, 'z' }, |
201 { VKEY_Z, EF_CONTROL_DOWN, '\x1A' }, | 201 { VKEY_Z, EF_CONTROL_DOWN, '\x1A' }, |
202 { VKEY_Z, EF_SHIFT_DOWN | EF_CONTROL_DOWN, '\x1A' }, | 202 { VKEY_Z, EF_SHIFT_DOWN | EF_CONTROL_DOWN, '\x1A' }, |
203 | 203 |
204 { VKEY_2, EF_CONTROL_DOWN, '\0' }, | 204 { VKEY_2, EF_CONTROL_DOWN, '\0' }, |
205 { VKEY_2, EF_SHIFT_DOWN | EF_CONTROL_DOWN, '\0' }, | 205 { VKEY_2, EF_SHIFT_DOWN | EF_CONTROL_DOWN, '\0' }, |
206 { VKEY_6, EF_CONTROL_DOWN, '\0' }, | 206 { VKEY_6, EF_CONTROL_DOWN, '\0' }, |
207 { VKEY_6, EF_SHIFT_DOWN | EF_CONTROL_DOWN, '\x1E' }, | 207 { VKEY_6, EF_SHIFT_DOWN | EF_CONTROL_DOWN, '\x1E' }, |
208 { VKEY_OEM_MINUS, EF_CONTROL_DOWN, '\0' }, | 208 { VKEY_OEM_MINUS, EF_CONTROL_DOWN, '\0' }, |
209 { VKEY_OEM_MINUS, EF_SHIFT_DOWN | EF_CONTROL_DOWN, '\x1F' }, | 209 { VKEY_OEM_MINUS, EF_SHIFT_DOWN | EF_CONTROL_DOWN, '\x1F' }, |
210 { VKEY_OEM_4, EF_CONTROL_DOWN, '\x1B' }, | 210 { VKEY_OEM_4, EF_CONTROL_DOWN, '\x1B' }, |
211 { VKEY_OEM_4, EF_SHIFT_DOWN | EF_CONTROL_DOWN, '\0' }, | 211 { VKEY_OEM_4, EF_SHIFT_DOWN | EF_CONTROL_DOWN, '\0' }, |
212 { VKEY_OEM_5, EF_CONTROL_DOWN, '\x1C' }, | 212 { VKEY_OEM_5, EF_CONTROL_DOWN, '\x1C' }, |
213 { VKEY_OEM_5, EF_SHIFT_DOWN | EF_CONTROL_DOWN, '\0' }, | 213 { VKEY_OEM_5, EF_SHIFT_DOWN | EF_CONTROL_DOWN, '\0' }, |
214 { VKEY_OEM_6, EF_CONTROL_DOWN, '\x1D' }, | 214 { VKEY_OEM_6, EF_CONTROL_DOWN, '\x1D' }, |
215 { VKEY_OEM_6, EF_SHIFT_DOWN | EF_CONTROL_DOWN, '\0' }, | 215 { VKEY_OEM_6, EF_SHIFT_DOWN | EF_CONTROL_DOWN, '\0' }, |
216 { VKEY_RETURN, EF_CONTROL_DOWN, '\x0A' }, | 216 { VKEY_RETURN, EF_CONTROL_DOWN, '\x0A' }, |
217 | 217 |
218 { VKEY_0, 0, '0' }, | 218 { VKEY_0, 0, '0' }, |
219 { VKEY_0, EF_SHIFT_DOWN, ')' }, | 219 { VKEY_0, EF_SHIFT_DOWN, ')' }, |
220 { VKEY_0, EF_SHIFT_DOWN | EF_CAPS_LOCK_DOWN, ')' }, | 220 { VKEY_0, EF_SHIFT_DOWN | EF_CAPS_LOCK_ON, ')' }, |
221 { VKEY_0, EF_SHIFT_DOWN | EF_CONTROL_DOWN, '\0' }, | 221 { VKEY_0, EF_SHIFT_DOWN | EF_CONTROL_DOWN, '\0' }, |
222 | 222 |
223 { VKEY_9, 0, '9' }, | 223 { VKEY_9, 0, '9' }, |
224 { VKEY_9, EF_SHIFT_DOWN, '(' }, | 224 { VKEY_9, EF_SHIFT_DOWN, '(' }, |
225 { VKEY_9, EF_SHIFT_DOWN | EF_CAPS_LOCK_DOWN, '(' }, | 225 { VKEY_9, EF_SHIFT_DOWN | EF_CAPS_LOCK_ON, '(' }, |
226 { VKEY_9, EF_SHIFT_DOWN | EF_CONTROL_DOWN, '\0' }, | 226 { VKEY_9, EF_SHIFT_DOWN | EF_CONTROL_DOWN, '\0' }, |
227 | 227 |
228 { VKEY_NUMPAD0, EF_CONTROL_DOWN, '\0' }, | 228 { VKEY_NUMPAD0, EF_CONTROL_DOWN, '\0' }, |
229 { VKEY_NUMPAD0, EF_SHIFT_DOWN, '0' }, | 229 { VKEY_NUMPAD0, EF_SHIFT_DOWN, '0' }, |
230 | 230 |
231 { VKEY_NUMPAD9, EF_CONTROL_DOWN, '\0' }, | 231 { VKEY_NUMPAD9, EF_CONTROL_DOWN, '\0' }, |
232 { VKEY_NUMPAD9, EF_SHIFT_DOWN, '9' }, | 232 { VKEY_NUMPAD9, EF_SHIFT_DOWN, '9' }, |
233 | 233 |
234 { VKEY_TAB, EF_NONE, '\t' }, | 234 { VKEY_TAB, EF_NONE, '\t' }, |
235 { VKEY_TAB, EF_CONTROL_DOWN, '\t' }, | 235 { VKEY_TAB, EF_CONTROL_DOWN, '\t' }, |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
470 MSG native_event_a_pressed_1500 = { NULL, WM_KEYDOWN, VKEY_A, lParam_a }; | 470 MSG native_event_a_pressed_1500 = { NULL, WM_KEYDOWN, VKEY_A, lParam_a }; |
471 MSG native_event_a_pressed_3000 = { NULL, WM_KEYDOWN, VKEY_A, lParam_a }; | 471 MSG native_event_a_pressed_3000 = { NULL, WM_KEYDOWN, VKEY_A, lParam_a }; |
472 MSG native_event_a_released = { NULL, WM_KEYUP, VKEY_A, lParam_a }; | 472 MSG native_event_a_released = { NULL, WM_KEYUP, VKEY_A, lParam_a }; |
473 MSG native_event_b_pressed = { NULL, WM_KEYUP, VKEY_B, lParam_b }; | 473 MSG native_event_b_pressed = { NULL, WM_KEYUP, VKEY_B, lParam_b }; |
474 #endif | 474 #endif |
475 SetKeyEventTimestamp(native_event_a_pressed_1500, 1500); | 475 SetKeyEventTimestamp(native_event_a_pressed_1500, 1500); |
476 SetKeyEventTimestamp(native_event_a_pressed_3000, 3000); | 476 SetKeyEventTimestamp(native_event_a_pressed_3000, 3000); |
477 | 477 |
478 { | 478 { |
479 KeyEvent key_a1(native_event_a_pressed); | 479 KeyEvent key_a1(native_event_a_pressed); |
480 EXPECT_FALSE(key_a1.IsRepeat()); | 480 EXPECT_FALSE(key_a1.is_repeat()); |
481 | 481 |
482 KeyEvent key_a1_with_same_event(native_event_a_pressed); | 482 KeyEvent key_a1_with_same_event(native_event_a_pressed); |
483 EXPECT_FALSE(key_a1_with_same_event.IsRepeat()); | 483 EXPECT_FALSE(key_a1_with_same_event.is_repeat()); |
484 | 484 |
485 KeyEvent key_a1_released(native_event_a_released); | 485 KeyEvent key_a1_released(native_event_a_released); |
486 EXPECT_FALSE(key_a1_released.IsRepeat()); | 486 EXPECT_FALSE(key_a1_released.is_repeat()); |
487 | 487 |
488 KeyEvent key_a2(native_event_a_pressed); | 488 KeyEvent key_a2(native_event_a_pressed); |
489 EXPECT_FALSE(key_a2.IsRepeat()); | 489 EXPECT_FALSE(key_a2.is_repeat()); |
490 | 490 |
491 AdvanceKeyEventTimestamp(native_event_a_pressed); | 491 AdvanceKeyEventTimestamp(native_event_a_pressed); |
492 KeyEvent key_a2_repeated(native_event_a_pressed); | 492 KeyEvent key_a2_repeated(native_event_a_pressed); |
493 EXPECT_TRUE(key_a2_repeated.IsRepeat()); | 493 EXPECT_TRUE(key_a2_repeated.is_repeat()); |
494 | 494 |
495 KeyEvent key_a2_released(native_event_a_released); | 495 KeyEvent key_a2_released(native_event_a_released); |
496 EXPECT_FALSE(key_a2_released.IsRepeat()); | 496 EXPECT_FALSE(key_a2_released.is_repeat()); |
497 } | 497 } |
498 | 498 |
499 // Interleaved with different key press. | 499 // Interleaved with different key press. |
500 { | 500 { |
501 KeyEvent key_a3(native_event_a_pressed); | 501 KeyEvent key_a3(native_event_a_pressed); |
502 EXPECT_FALSE(key_a3.IsRepeat()); | 502 EXPECT_FALSE(key_a3.is_repeat()); |
503 | 503 |
504 KeyEvent key_b(native_event_b_pressed); | 504 KeyEvent key_b(native_event_b_pressed); |
505 EXPECT_FALSE(key_b.IsRepeat()); | 505 EXPECT_FALSE(key_b.is_repeat()); |
506 | 506 |
507 AdvanceKeyEventTimestamp(native_event_a_pressed); | 507 AdvanceKeyEventTimestamp(native_event_a_pressed); |
508 KeyEvent key_a3_again(native_event_a_pressed); | 508 KeyEvent key_a3_again(native_event_a_pressed); |
509 EXPECT_FALSE(key_a3_again.IsRepeat()); | 509 EXPECT_FALSE(key_a3_again.is_repeat()); |
510 | 510 |
511 AdvanceKeyEventTimestamp(native_event_a_pressed); | 511 AdvanceKeyEventTimestamp(native_event_a_pressed); |
512 KeyEvent key_a3_repeated(native_event_a_pressed); | 512 KeyEvent key_a3_repeated(native_event_a_pressed); |
513 EXPECT_TRUE(key_a3_repeated.IsRepeat()); | 513 EXPECT_TRUE(key_a3_repeated.is_repeat()); |
514 | 514 |
515 AdvanceKeyEventTimestamp(native_event_a_pressed); | 515 AdvanceKeyEventTimestamp(native_event_a_pressed); |
516 KeyEvent key_a3_repeated2(native_event_a_pressed); | 516 KeyEvent key_a3_repeated2(native_event_a_pressed); |
517 EXPECT_TRUE(key_a3_repeated2.IsRepeat()); | 517 EXPECT_TRUE(key_a3_repeated2.is_repeat()); |
518 | 518 |
519 KeyEvent key_a3_released(native_event_a_released); | 519 KeyEvent key_a3_released(native_event_a_released); |
520 EXPECT_FALSE(key_a3_released.IsRepeat()); | 520 EXPECT_FALSE(key_a3_released.is_repeat()); |
521 } | 521 } |
522 | 522 |
523 // Hold the key longer than max auto repeat timeout. | 523 // Hold the key longer than max auto repeat timeout. |
524 { | 524 { |
525 KeyEvent key_a4_0(native_event_a_pressed); | 525 KeyEvent key_a4_0(native_event_a_pressed); |
526 EXPECT_FALSE(key_a4_0.IsRepeat()); | 526 EXPECT_FALSE(key_a4_0.is_repeat()); |
527 | 527 |
528 KeyEvent key_a4_1500(native_event_a_pressed_1500); | 528 KeyEvent key_a4_1500(native_event_a_pressed_1500); |
529 EXPECT_TRUE(key_a4_1500.IsRepeat()); | 529 EXPECT_TRUE(key_a4_1500.is_repeat()); |
530 | 530 |
531 KeyEvent key_a4_3000(native_event_a_pressed_3000); | 531 KeyEvent key_a4_3000(native_event_a_pressed_3000); |
532 EXPECT_TRUE(key_a4_3000.IsRepeat()); | 532 EXPECT_TRUE(key_a4_3000.is_repeat()); |
533 | 533 |
534 KeyEvent key_a4_released(native_event_a_released); | 534 KeyEvent key_a4_released(native_event_a_released); |
535 EXPECT_FALSE(key_a4_released.IsRepeat()); | 535 EXPECT_FALSE(key_a4_released.is_repeat()); |
536 } | 536 } |
537 | 537 |
538 #if defined(USE_X11) | 538 #if defined(USE_X11) |
539 { | 539 { |
540 KeyEvent key_a4_pressed(native_event_a_pressed); | 540 KeyEvent key_a4_pressed(native_event_a_pressed); |
541 EXPECT_FALSE(key_a4_pressed.IsRepeat()); | 541 EXPECT_FALSE(key_a4_pressed.is_repeat()); |
542 | 542 |
543 KeyEvent key_a4_pressed_nonstandard_state( | 543 KeyEvent key_a4_pressed_nonstandard_state( |
544 native_event_a_pressed_nonstandard_state); | 544 native_event_a_pressed_nonstandard_state); |
545 EXPECT_FALSE(key_a4_pressed_nonstandard_state.IsRepeat()); | 545 EXPECT_FALSE(key_a4_pressed_nonstandard_state.is_repeat()); |
546 } | 546 } |
547 #endif | 547 #endif |
548 } | 548 } |
549 #endif // USE_X11 || OS_WIN | 549 #endif // USE_X11 || OS_WIN |
550 | 550 |
551 TEST(EventTest, TouchEventRadiusDefaultsToOtherAxis) { | 551 TEST(EventTest, TouchEventRadiusDefaultsToOtherAxis) { |
552 const base::TimeDelta time = base::TimeDelta::FromMilliseconds(0); | 552 const base::TimeDelta time = base::TimeDelta::FromMilliseconds(0); |
553 const float non_zero_length1 = 30; | 553 const float non_zero_length1 = 30; |
554 const float non_zero_length2 = 46; | 554 const float non_zero_length2 = 46; |
555 | 555 |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
691 EXPECT_EQ(EventPointerType::POINTER_TYPE_PEN, | 691 EXPECT_EQ(EventPointerType::POINTER_TYPE_PEN, |
692 stylus_event_copy.pointer_details().pointer_type()); | 692 stylus_event_copy.pointer_details().pointer_type()); |
693 EXPECT_EQ(21.0f, stylus_event_copy.pointer_details().force()); | 693 EXPECT_EQ(21.0f, stylus_event_copy.pointer_details().force()); |
694 EXPECT_EQ(45.0f, stylus_event_copy.pointer_details().tilt_x()); | 694 EXPECT_EQ(45.0f, stylus_event_copy.pointer_details().tilt_x()); |
695 EXPECT_EQ(-45.0f, stylus_event_copy.pointer_details().tilt_y()); | 695 EXPECT_EQ(-45.0f, stylus_event_copy.pointer_details().tilt_y()); |
696 EXPECT_EQ(0.0f, stylus_event_copy.pointer_details().radius_x()); | 696 EXPECT_EQ(0.0f, stylus_event_copy.pointer_details().radius_x()); |
697 EXPECT_EQ(0.0f, stylus_event_copy.pointer_details().radius_y()); | 697 EXPECT_EQ(0.0f, stylus_event_copy.pointer_details().radius_y()); |
698 } | 698 } |
699 | 699 |
700 } // namespace ui | 700 } // namespace ui |
OLD | NEW |