Chromium Code Reviews| Index: content/browser/renderer_host/render_widget_host_view_mac_unittest.mm |
| diff --git a/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm b/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm |
| index c3575b9ff14ee7e7fc55ab0c048bc8f3a5f3363a..0f694e3fe98076d0a332f697a809ac5e7bc9aaad 100644 |
| --- a/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm |
| +++ b/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm |
| @@ -331,6 +331,38 @@ TEST_F(RenderWidgetHostViewMacTest, AcceleratorDestroy) { |
| observer.Wait(); |
| } |
| +// Test that NSEvent of non-printable character won't generate keypress event |
| +// http://crbug.com/459089 |
| +TEST_F(RenderWidgetHostViewMacTest, FilterNonPrintableCharacter) { |
| + TestBrowserContext browser_context; |
| + MockRenderProcessHost* process_host = |
| + new MockRenderProcessHost(&browser_context); |
| + process_host->Init(); |
| + MockRenderWidgetHostDelegate delegate; |
| + int32 routing_id = process_host->GetNextRoutingID(); |
| + MockRenderWidgetHostImpl* host = |
| + new MockRenderWidgetHostImpl(&delegate, process_host, routing_id); |
| + RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(host, false); |
| + |
| + // Simulate ctrl+delete (fn+ctrl+backspace), will produce a non-printable |
| + // private use character |
| + process_host->sink().ClearMessages(); |
| + [view->cocoa_view() keyEvent: |
| + cocoa_test_event_utils::KeyEventWithKeyCode( |
| + 117, 0xf728, NSKeyDown, NSControlKeyMask)]; |
| + EXPECT_EQ(1U, process_host->sink().message_count()); |
|
dtapuska
2015/11/23 14:42:08
It's unclear to me how this message_count increase
|
| + |
| + // Simulate a printable char, should generate keypress event |
| + process_host->sink().ClearMessages(); |
| + [view->cocoa_view() keyEvent: |
| + cocoa_test_event_utils::KeyEventWithKeyCode( |
| + 0x78, 'x', NSKeyDown, NSControlKeyMask)]; |
| + EXPECT_EQ(2U, process_host->sink().message_count()); |
| + |
| + // Clean up. |
| + host->Shutdown(); |
| +} |
| + |
| TEST_F(RenderWidgetHostViewMacTest, GetFirstRectForCharacterRangeCaretCase) { |
| const base::string16 kDummyString = base::UTF8ToUTF16("hogehoge"); |
| const size_t kDummyOffset = 0; |