| 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 |