Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(51)

Side by Side Diff: ui/base/ime/remote_input_method_win_unittest.cc

Issue 404203003: Distinguish between keystroke and character events. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: IsCharFromNative() for Mac build Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/base/ime/input_method_win.cc ('k') | ui/chromeos/touch_exploration_controller.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "ui/base/ime/remote_input_method_win.h" 5 #include "ui/base/ime/remote_input_method_win.h"
6 6
7 #include <InputScope.h> 7 #include <InputScope.h>
8 8
9 #include <vector> 9 #include <vector>
10 10
(...skipping 530 matching lines...) Expand 10 before | Expand all | Expand 10 after
541 } 541 }
542 542
543 TEST(RemoteInputMethodWinTest, DispatchKeyEvent_NativeKeyEvent) { 543 TEST(RemoteInputMethodWinTest, DispatchKeyEvent_NativeKeyEvent) {
544 // Basically RemoteInputMethodWin does not handle native keydown event. 544 // Basically RemoteInputMethodWin does not handle native keydown event.
545 545
546 MockInputMethodDelegate delegate_; 546 MockInputMethodDelegate delegate_;
547 MockTextInputClient mock_text_input_client; 547 MockTextInputClient mock_text_input_client;
548 scoped_ptr<InputMethod> input_method(CreateRemoteInputMethodWin(&delegate_)); 548 scoped_ptr<InputMethod> input_method(CreateRemoteInputMethodWin(&delegate_));
549 549
550 const MSG wm_keydown = { NULL, WM_KEYDOWN, ui::VKEY_A }; 550 const MSG wm_keydown = { NULL, WM_KEYDOWN, ui::VKEY_A };
551 ui::KeyEvent native_keydown(wm_keydown, false); 551 ui::KeyEvent native_keydown(wm_keydown);
552 552
553 // This must not cause a crash. 553 // This must not cause a crash.
554 EXPECT_FALSE(input_method->DispatchKeyEvent(native_keydown)); 554 EXPECT_FALSE(input_method->DispatchKeyEvent(native_keydown));
555 EXPECT_TRUE(mock_text_input_client.inserted_text().empty()); 555 EXPECT_TRUE(mock_text_input_client.inserted_text().empty());
556 EXPECT_TRUE(delegate_.fabricated_key_events().empty()); 556 EXPECT_TRUE(delegate_.fabricated_key_events().empty());
557 delegate_.Reset(); 557 delegate_.Reset();
558 mock_text_input_client.Reset(); 558 mock_text_input_client.Reset();
559 559
560 RemoteInputMethodPrivateWin* private_ptr = 560 RemoteInputMethodPrivateWin* private_ptr =
561 RemoteInputMethodPrivateWin::Get(input_method.get()); 561 RemoteInputMethodPrivateWin::Get(input_method.get());
(...skipping 21 matching lines...) Expand all
583 } 583 }
584 584
585 TEST(RemoteInputMethodWinTest, DispatchKeyEvent_NativeCharEvent) { 585 TEST(RemoteInputMethodWinTest, DispatchKeyEvent_NativeCharEvent) {
586 // RemoteInputMethodWin handles native char event if possible. 586 // RemoteInputMethodWin handles native char event if possible.
587 587
588 MockInputMethodDelegate delegate_; 588 MockInputMethodDelegate delegate_;
589 MockTextInputClient mock_text_input_client; 589 MockTextInputClient mock_text_input_client;
590 scoped_ptr<InputMethod> input_method(CreateRemoteInputMethodWin(&delegate_)); 590 scoped_ptr<InputMethod> input_method(CreateRemoteInputMethodWin(&delegate_));
591 591
592 const MSG wm_char = { NULL, WM_CHAR, 'A', 0 }; 592 const MSG wm_char = { NULL, WM_CHAR, 'A', 0 };
593 ui::KeyEvent native_char(wm_char, true); 593 ui::KeyEvent native_char(wm_char);
594 594
595 // This must not cause a crash. 595 // This must not cause a crash.
596 EXPECT_FALSE(input_method->DispatchKeyEvent(native_char)); 596 EXPECT_FALSE(input_method->DispatchKeyEvent(native_char));
597 EXPECT_TRUE(mock_text_input_client.inserted_text().empty()); 597 EXPECT_TRUE(mock_text_input_client.inserted_text().empty());
598 EXPECT_TRUE(delegate_.fabricated_key_events().empty()); 598 EXPECT_TRUE(delegate_.fabricated_key_events().empty());
599 delegate_.Reset(); 599 delegate_.Reset();
600 mock_text_input_client.Reset(); 600 mock_text_input_client.Reset();
601 601
602 RemoteInputMethodPrivateWin* private_ptr = 602 RemoteInputMethodPrivateWin* private_ptr =
603 RemoteInputMethodPrivateWin::Get(input_method.get()); 603 RemoteInputMethodPrivateWin::Get(input_method.get());
(...skipping 22 matching lines...) Expand all
626 626
627 TEST(RemoteInputMethodWinTest, DispatchKeyEvent_FabricatedKeyDown) { 627 TEST(RemoteInputMethodWinTest, DispatchKeyEvent_FabricatedKeyDown) {
628 // Fabricated non-char event will be delegated to 628 // Fabricated non-char event will be delegated to
629 // InputMethodDelegate::DispatchFabricatedKeyEventPostIME as long as the 629 // InputMethodDelegate::DispatchFabricatedKeyEventPostIME as long as the
630 // delegate is installed. 630 // delegate is installed.
631 631
632 MockInputMethodDelegate delegate_; 632 MockInputMethodDelegate delegate_;
633 MockTextInputClient mock_text_input_client; 633 MockTextInputClient mock_text_input_client;
634 scoped_ptr<InputMethod> input_method(CreateRemoteInputMethodWin(&delegate_)); 634 scoped_ptr<InputMethod> input_method(CreateRemoteInputMethodWin(&delegate_));
635 635
636 ui::KeyEvent fabricated_keydown(ui::ET_KEY_PRESSED, ui::VKEY_A, 0, false); 636 ui::KeyEvent fabricated_keydown(ui::ET_KEY_PRESSED, ui::VKEY_A, ui::EF_NONE);
637 fabricated_keydown.set_character(L'A'); 637 fabricated_keydown.set_character(L'A');
638 638
639 // This must not cause a crash. 639 // This must not cause a crash.
640 EXPECT_TRUE(input_method->DispatchKeyEvent(fabricated_keydown)); 640 EXPECT_TRUE(input_method->DispatchKeyEvent(fabricated_keydown));
641 EXPECT_TRUE(mock_text_input_client.inserted_text().empty()); 641 EXPECT_TRUE(mock_text_input_client.inserted_text().empty());
642 ASSERT_EQ(1, delegate_.fabricated_key_events().size()); 642 ASSERT_EQ(1, delegate_.fabricated_key_events().size());
643 EXPECT_EQ(L'A', delegate_.fabricated_key_events()[0]); 643 EXPECT_EQ(L'A', delegate_.fabricated_key_events()[0]);
644 delegate_.Reset(); 644 delegate_.Reset();
645 mock_text_input_client.Reset(); 645 mock_text_input_client.Reset();
646 646
(...skipping 30 matching lines...) Expand all
677 } 677 }
678 678
679 TEST(RemoteInputMethodWinTest, DispatchKeyEvent_FabricatedChar) { 679 TEST(RemoteInputMethodWinTest, DispatchKeyEvent_FabricatedChar) {
680 // Note: RemoteInputMethodWin::DispatchKeyEvent should always return true 680 // Note: RemoteInputMethodWin::DispatchKeyEvent should always return true
681 // for fabricated character events. 681 // for fabricated character events.
682 682
683 MockInputMethodDelegate delegate_; 683 MockInputMethodDelegate delegate_;
684 MockTextInputClient mock_text_input_client; 684 MockTextInputClient mock_text_input_client;
685 scoped_ptr<InputMethod> input_method(CreateRemoteInputMethodWin(&delegate_)); 685 scoped_ptr<InputMethod> input_method(CreateRemoteInputMethodWin(&delegate_));
686 686
687 ui::KeyEvent fabricated_char(ui::ET_KEY_PRESSED, ui::VKEY_A, 0, true); 687 ui::KeyEvent fabricated_char(L'A', ui::VKEY_A, ui::EF_NONE);
688 fabricated_char.set_character(L'A');
689 688
690 // This must not cause a crash. 689 // This must not cause a crash.
691 EXPECT_TRUE(input_method->DispatchKeyEvent(fabricated_char)); 690 EXPECT_TRUE(input_method->DispatchKeyEvent(fabricated_char));
692 EXPECT_TRUE(mock_text_input_client.inserted_text().empty()); 691 EXPECT_TRUE(mock_text_input_client.inserted_text().empty());
693 EXPECT_TRUE(delegate_.fabricated_key_events().empty()); 692 EXPECT_TRUE(delegate_.fabricated_key_events().empty());
694 delegate_.Reset(); 693 delegate_.Reset();
695 mock_text_input_client.Reset(); 694 mock_text_input_client.Reset();
696 695
697 RemoteInputMethodPrivateWin* private_ptr = 696 RemoteInputMethodPrivateWin* private_ptr =
698 RemoteInputMethodPrivateWin::Get(input_method.get()); 697 RemoteInputMethodPrivateWin::Get(input_method.get());
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
838 scoped_ptr<InputMethod> input_method(CreateRemoteInputMethodWin(&delegate_)); 837 scoped_ptr<InputMethod> input_method(CreateRemoteInputMethodWin(&delegate_));
839 input_method->AddObserver(&input_method_observer); 838 input_method->AddObserver(&input_method_observer);
840 839
841 EXPECT_EQ(0u, input_method_observer.on_input_method_destroyed_changed()); 840 EXPECT_EQ(0u, input_method_observer.on_input_method_destroyed_changed());
842 input_method.reset(); 841 input_method.reset();
843 EXPECT_EQ(1u, input_method_observer.on_input_method_destroyed_changed()); 842 EXPECT_EQ(1u, input_method_observer.on_input_method_destroyed_changed());
844 } 843 }
845 844
846 } // namespace 845 } // namespace
847 } // namespace ui 846 } // namespace ui
OLDNEW
« no previous file with comments | « ui/base/ime/input_method_win.cc ('k') | ui/chromeos/touch_exploration_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698