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

Side by Side Diff: content/renderer/render_view_browsertest.cc

Issue 8801008: Enable RenderViewImplTest.{OnHandleKeyboardEvent,InsertCharacters} for Aura on X11. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 9 years 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | content/test/render_view_test.h » ('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 (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/basictypes.h" 5 #include "base/basictypes.h"
6 6
7 #include "base/shared_memory.h" 7 #include "base/shared_memory.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "content/common/view_messages.h" 10 #include "content/common/view_messages.h"
(...skipping 503 matching lines...) Expand 10 before | Expand all | Expand 10 after
514 514
515 // Copy the document content to std::wstring and compare with the 515 // Copy the document content to std::wstring and compare with the
516 // expected result. 516 // expected result.
517 const int kMaxOutputCharacters = 16; 517 const int kMaxOutputCharacters = 16;
518 std::wstring output = UTF16ToWideHack( 518 std::wstring output = UTF16ToWideHack(
519 GetMainFrame()->contentAsText(kMaxOutputCharacters)); 519 GetMainFrame()->contentAsText(kMaxOutputCharacters));
520 EXPECT_EQ(output, kTextDirection[i].expected_result); 520 EXPECT_EQ(output, kTextDirection[i].expected_result);
521 } 521 }
522 } 522 }
523 523
524 #if defined(USE_AURA)
525 // crbug.com/103499.
526 #define MAYBE_OnHandleKeyboardEvent DISABLED_OnHandleKeyboardEvent
527 #else
528 #define MAYBE_OnHandleKeyboardEvent OnHandleKeyboardEvent
529 #endif
530
531 // Test that we can receive correct DOM events when we send input events 524 // Test that we can receive correct DOM events when we send input events
532 // through the RenderWidget::OnHandleInputEvent() function. 525 // through the RenderWidget::OnHandleInputEvent() function.
533 TEST_F(RenderViewImplTest, MAYBE_OnHandleKeyboardEvent) { 526 TEST_F(RenderViewImplTest, OnHandleKeyboardEvent) {
534 #if !defined(OS_MACOSX) 527 #if !defined(OS_MACOSX)
535 // Load an HTML page consisting of one <input> element and three 528 // Load an HTML page consisting of one <input> element and three
536 // contentediable <div> elements. 529 // contentediable <div> elements.
537 // The <input> element is used for sending keyboard events, and the <div> 530 // The <input> element is used for sending keyboard events, and the <div>
538 // elements are used for writing DOM events in the following format: 531 // elements are used for writing DOM events in the following format:
539 // "<keyCode>,<shiftKey>,<controlKey>,<altKey>". 532 // "<keyCode>,<shiftKey>,<controlKey>,<altKey>".
540 // TODO(hbono): <http://crbug.com/2215> Our WebKit port set |ev.metaKey| to 533 // TODO(hbono): <http://crbug.com/2215> Our WebKit port set |ev.metaKey| to
541 // true when pressing an alt key, i.e. the |ev.metaKey| value is not 534 // true when pressing an alt key, i.e. the |ev.metaKey| value is not
542 // trustworthy. We will check the |ev.metaKey| value when this issue is fixed. 535 // trustworthy. We will check the |ev.metaKey| value when this issue is fixed.
543 view()->set_send_content_state_immediately(true); 536 view()->set_send_content_state_immediately(true);
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
631 #endif 624 #endif
632 }; 625 };
633 626
634 MockKeyboard::Modifiers modifiers = kModifierData[j].modifiers; 627 MockKeyboard::Modifiers modifiers = kModifierData[j].modifiers;
635 for (size_t k = 0; k < ARRAYSIZE_UNSAFE(kKeyCodes); ++k) { 628 for (size_t k = 0; k < ARRAYSIZE_UNSAFE(kKeyCodes); ++k) {
636 // Send a keyboard event to the RenderView object. 629 // Send a keyboard event to the RenderView object.
637 // We should test a keyboard event only when the given keyboard-layout 630 // We should test a keyboard event only when the given keyboard-layout
638 // driver is installed in a PC and the driver can assign a Unicode 631 // driver is installed in a PC and the driver can assign a Unicode
639 // charcter for the given tuple (key-code and modifiers). 632 // charcter for the given tuple (key-code and modifiers).
640 int key_code = kKeyCodes[k]; 633 int key_code = kKeyCodes[k];
641 std::wstring char_code; 634 string16 char_code;
642 if (SendKeyEvent(layout, key_code, modifiers, &char_code) < 0) 635 if (SendKeyEvent(layout, key_code, modifiers, &char_code) < 0)
643 continue; 636 continue;
644 637
645 // Create an expected result from the virtual-key code, the character 638 // Create an expected result from the virtual-key code, the character
646 // code, and the modifier-key status. 639 // code, and the modifier-key status.
647 // We format a string that emulates a DOM-event string produced hy 640 // We format a string that emulates a DOM-event string produced hy
648 // our JavaScript function. (See the above comment for the format.) 641 // our JavaScript function. (See the above comment for the format.)
649 static char expected_result[1024]; 642 static char expected_result[1024];
650 expected_result[0] = 0; 643 expected_result[0] = 0;
651 base::snprintf(&expected_result[0], 644 base::snprintf(&expected_result[0],
(...skipping 15 matching lines...) Expand all
667 GetMainFrame()->contentAsText(kMaxOutputCharacters)); 660 GetMainFrame()->contentAsText(kMaxOutputCharacters));
668 EXPECT_EQ(expected_result, output); 661 EXPECT_EQ(expected_result, output);
669 } 662 }
670 } 663 }
671 } 664 }
672 #else 665 #else
673 NOTIMPLEMENTED(); 666 NOTIMPLEMENTED();
674 #endif 667 #endif
675 } 668 }
676 669
677 #if defined(USE_AURA)
678 // crbug.com/103499.
679 #define MAYBE_InsertCharacters DISABLED_InsertCharacters
680 #else
681 #define MAYBE_InsertCharacters InsertCharacters
682 #endif
683
684 // Test that our EditorClientImpl class can insert characters when we send 670 // Test that our EditorClientImpl class can insert characters when we send
685 // keyboard events through the RenderWidget::OnHandleInputEvent() function. 671 // keyboard events through the RenderWidget::OnHandleInputEvent() function.
686 // This test is for preventing regressions caused only when we use non-US 672 // This test is for preventing regressions caused only when we use non-US
687 // keyboards, such as Issue 10846. 673 // keyboards, such as Issue 10846.
688 TEST_F(RenderViewImplTest, MAYBE_InsertCharacters) { 674 TEST_F(RenderViewImplTest, InsertCharacters) {
689 #if !defined(OS_MACOSX) 675 #if !defined(OS_MACOSX)
690 static const struct { 676 static const struct {
691 MockKeyboard::Layout layout; 677 MockKeyboard::Layout layout;
692 const wchar_t* expected_result; 678 const wchar_t* expected_result;
693 } kLayouts[] = { 679 } kLayouts[] = {
694 #if 0 680 #if 0
695 // Disabled these keyboard layouts because buildbots do not have their 681 // Disabled these keyboard layouts because buildbots do not have their
696 // keyboard-layout drivers installed. 682 // keyboard-layout drivers installed.
697 {MockKeyboard::LAYOUT_ARABIC, 683 {MockKeyboard::LAYOUT_ARABIC,
698 L"\x0030\x0031\x0032\x0033\x0034\x0035\x0036\x0037" 684 L"\x0030\x0031\x0032\x0033\x0034\x0035\x0036\x0037"
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
879 #endif 865 #endif
880 }; 866 };
881 867
882 MockKeyboard::Modifiers modifiers = kModifiers[j]; 868 MockKeyboard::Modifiers modifiers = kModifiers[j];
883 for (size_t k = 0; k < ARRAYSIZE_UNSAFE(kKeyCodes); ++k) { 869 for (size_t k = 0; k < ARRAYSIZE_UNSAFE(kKeyCodes); ++k) {
884 // Send a keyboard event to the RenderView object. 870 // Send a keyboard event to the RenderView object.
885 // We should test a keyboard event only when the given keyboard-layout 871 // We should test a keyboard event only when the given keyboard-layout
886 // driver is installed in a PC and the driver can assign a Unicode 872 // driver is installed in a PC and the driver can assign a Unicode
887 // charcter for the given tuple (layout, key-code, and modifiers). 873 // charcter for the given tuple (layout, key-code, and modifiers).
888 int key_code = kKeyCodes[k]; 874 int key_code = kKeyCodes[k];
889 std::wstring char_code; 875 string16 char_code;
890 if (SendKeyEvent(layout, key_code, modifiers, &char_code) < 0) 876 if (SendKeyEvent(layout, key_code, modifiers, &char_code) < 0)
891 continue; 877 continue;
892 } 878 }
893 } 879 }
894 880
895 // Retrieve the text in the test page and compare it with the expected 881 // Retrieve the text in the test page and compare it with the expected
896 // text created from a virtual-key code, a character code, and the 882 // text created from a virtual-key code, a character code, and the
897 // modifier-key status. 883 // modifier-key status.
898 const int kMaxOutputCharacters = 4096; 884 const int kMaxOutputCharacters = 4096;
899 std::wstring output = UTF16ToWideHack( 885 std::wstring output = UTF16ToWideHack(
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
1091 expected_page_id_2 = view()->page_id_; 1077 expected_page_id_2 = view()->page_id_;
1092 EXPECT_GT(expected_page_id_2, expected_page_id); 1078 EXPECT_GT(expected_page_id_2, expected_page_id);
1093 view()->OnSetHistoryLengthAndPrune(2, -1); 1079 view()->OnSetHistoryLengthAndPrune(2, -1);
1094 EXPECT_EQ(4, view()->history_list_length_); 1080 EXPECT_EQ(4, view()->history_list_length_);
1095 EXPECT_EQ(3, view()->history_list_offset_); 1081 EXPECT_EQ(3, view()->history_list_offset_);
1096 EXPECT_EQ(-1, view()->history_page_ids_[0]); 1082 EXPECT_EQ(-1, view()->history_page_ids_[0]);
1097 EXPECT_EQ(-1, view()->history_page_ids_[1]); 1083 EXPECT_EQ(-1, view()->history_page_ids_[1]);
1098 EXPECT_EQ(expected_page_id, view()->history_page_ids_[2]); 1084 EXPECT_EQ(expected_page_id, view()->history_page_ids_[2]);
1099 EXPECT_EQ(expected_page_id_2, view()->history_page_ids_[3]); 1085 EXPECT_EQ(expected_page_id_2, view()->history_page_ids_[3]);
1100 } 1086 }
OLDNEW
« no previous file with comments | « no previous file | content/test/render_view_test.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698