summaryrefslogtreecommitdiffstats
path: root/chromium/content/browser/renderer_host/input/web_input_event_builders_gtk_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/content/browser/renderer_host/input/web_input_event_builders_gtk_unittest.cc')
-rw-r--r--chromium/content/browser/renderer_host/input/web_input_event_builders_gtk_unittest.cc171
1 files changed, 0 insertions, 171 deletions
diff --git a/chromium/content/browser/renderer_host/input/web_input_event_builders_gtk_unittest.cc b/chromium/content/browser/renderer_host/input/web_input_event_builders_gtk_unittest.cc
deleted file mode 100644
index b5e2d423a08..00000000000
--- a/chromium/content/browser/renderer_host/input/web_input_event_builders_gtk_unittest.cc
+++ /dev/null
@@ -1,171 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "content/browser/renderer_host/input/web_input_event_builders_gtk.h"
-
-#include <gdk/gdk.h>
-#include <gdk/gdkkeysyms.h>
-
-#include "testing/gtest/include/gtest/gtest.h"
-#include "third_party/WebKit/public/web/WebInputEvent.h"
-#include "ui/events/keycodes/keyboard_code_conversion_gtk.h"
-
-using blink::WebInputEvent;
-using blink::WebKeyboardEvent;
-using blink::WebMouseEvent;
-using content::WebMouseEventBuilder;
-using content::WebKeyboardEventBuilder;
-
-namespace {
-
-TEST(WebMouseEventBuilderTest, DoubleClick) {
- GdkEventButton first_click;
- first_click.type = GDK_BUTTON_PRESS;
- first_click.window = static_cast<GdkWindow*>(GINT_TO_POINTER(1));
- first_click.x = first_click.y = first_click.x_root = first_click.y_root = 100;
- first_click.state = 0;
- first_click.time = 0;
- first_click.button = 1;
-
- // Single click works.
- WebMouseEvent first_click_events =
- WebMouseEventBuilder::Build(&first_click);
- EXPECT_EQ(1, first_click_events.clickCount);
-
- // Make sure double click works.
- GdkEventButton second_click = first_click;
- second_click.time = first_click.time + 100;
- WebMouseEvent second_click_events =
- WebMouseEventBuilder::Build(&second_click);
- EXPECT_EQ(2, second_click_events.clickCount);
-
- // Reset the click count.
- first_click.time += 10000;
- first_click_events = WebMouseEventBuilder::Build(&first_click);
- EXPECT_EQ(1, first_click_events.clickCount);
-
- // Two clicks with a long gap in between aren't counted as a double click.
- second_click = first_click;
- second_click.time = first_click.time + 1000;
- second_click_events = WebMouseEventBuilder::Build(&second_click);
- EXPECT_EQ(1, second_click_events.clickCount);
-
- // Reset the click count.
- first_click.time += 10000;
- first_click_events = WebMouseEventBuilder::Build(&first_click);
- EXPECT_EQ(1, first_click_events.clickCount);
-
- // Two clicks far apart (horizontally) aren't counted as a double click.
- second_click = first_click;
- second_click.time = first_click.time + 1;
- second_click.x = first_click.x + 100;
- second_click_events = WebMouseEventBuilder::Build(&second_click);
- EXPECT_EQ(1, second_click_events.clickCount);
-
- // Reset the click count.
- first_click.time += 10000;
- first_click_events = WebMouseEventBuilder::Build(&first_click);
- EXPECT_EQ(1, first_click_events.clickCount);
-
- // Two clicks far apart (vertically) aren't counted as a double click.
- second_click = first_click;
- second_click.time = first_click.time + 1;
- second_click.x = first_click.y + 100;
- second_click_events = WebMouseEventBuilder::Build(&second_click);
- EXPECT_EQ(1, second_click_events.clickCount);
-
- // Reset the click count.
- first_click.time += 10000;
- first_click_events = WebMouseEventBuilder::Build(&first_click);
- EXPECT_EQ(1, first_click_events.clickCount);
-
- // Two clicks on different windows aren't a double click.
- second_click = first_click;
- second_click.time = first_click.time + 1;
- second_click.window = static_cast<GdkWindow*>(GINT_TO_POINTER(2));
- second_click_events = WebMouseEventBuilder::Build(&second_click);
- EXPECT_EQ(1, second_click_events.clickCount);
-}
-
-TEST(WebMouseEventBuilderTest, MouseUpClickCount) {
- GdkEventButton mouse_down;
- memset(&mouse_down, 0, sizeof(mouse_down));
- mouse_down.type = GDK_BUTTON_PRESS;
- mouse_down.window = static_cast<GdkWindow*>(GINT_TO_POINTER(1));
- mouse_down.x = mouse_down.y = mouse_down.x_root = mouse_down.y_root = 100;
- mouse_down.time = 0;
- mouse_down.button = 1;
-
- // Properly set the last click time, so that the internal state won't be
- // affected by previous tests.
- WebMouseEventBuilder::Build(&mouse_down);
-
- mouse_down.time += 10000;
- GdkEventButton mouse_up = mouse_down;
- mouse_up.type = GDK_BUTTON_RELEASE;
- WebMouseEvent mouse_down_event;
- WebMouseEvent mouse_up_event;
-
- // Click for three times.
- for (int i = 1; i < 4; ++i) {
- mouse_down.time += 100;
- mouse_down_event = WebMouseEventBuilder::Build(&mouse_down);
- EXPECT_EQ(i, mouse_down_event.clickCount);
-
- mouse_up.time = mouse_down.time + 50;
- mouse_up_event = WebMouseEventBuilder::Build(&mouse_up);
- EXPECT_EQ(i, mouse_up_event.clickCount);
- }
-
- // Reset the click count.
- mouse_down.time += 10000;
- mouse_down_event = WebMouseEventBuilder::Build(&mouse_down);
- EXPECT_EQ(1, mouse_down_event.clickCount);
-
- // Moving the cursor for a significant distance will reset the click count to
- // 0.
- GdkEventMotion mouse_move;
- memset(&mouse_move, 0, sizeof(mouse_move));
- mouse_move.type = GDK_MOTION_NOTIFY;
- mouse_move.window = mouse_down.window;
- mouse_move.time = mouse_down.time;
- mouse_move.x = mouse_move.y = mouse_move.x_root = mouse_move.y_root =
- mouse_down.x + 100;
- WebMouseEventBuilder::Build(&mouse_move);
-
- mouse_up.time = mouse_down.time + 50;
- mouse_up_event = WebMouseEventBuilder::Build(&mouse_up);
- EXPECT_EQ(0, mouse_up_event.clickCount);
-
- // Reset the click count.
- mouse_down.time += 10000;
- mouse_down_event = WebMouseEventBuilder::Build(&mouse_down);
- EXPECT_EQ(1, mouse_down_event.clickCount);
-
- // Moving the cursor with a significant delay will reset the click count to 0.
- mouse_move.time = mouse_down.time + 1000;
- mouse_move.x = mouse_move.y = mouse_move.x_root = mouse_move.y_root =
- mouse_down.x;
- WebMouseEventBuilder::Build(&mouse_move);
-
- mouse_up.time = mouse_move.time + 50;
- mouse_up_event = WebMouseEventBuilder::Build(&mouse_up);
- EXPECT_EQ(0, mouse_up_event.clickCount);
-}
-
-TEST(WebKeyboardEventBuilderTest, NumPadConversion) {
- // Construct a GDK input event for the numpad "5" key.
- char five[] = "5";
- GdkEventKey gdk_event;
- memset(&gdk_event, 0, sizeof(GdkEventKey));
- gdk_event.type = GDK_KEY_PRESS;
- gdk_event.keyval = GDK_KP_5;
- gdk_event.string = five;
-
- // Numpad flag should be set on the WebKeyboardEvent.
- WebKeyboardEvent web_event = WebKeyboardEventBuilder::Build(&gdk_event);
- EXPECT_TRUE(web_event.modifiers & WebInputEvent::IsKeyPad);
-}
-
-} // anonymous namespace