diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-06-01 10:36:58 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-06-01 10:36:58 +0200 |
commit | b1e9e47fa11f608ae16bc07f97a2acf95bf80272 (patch) | |
tree | c88c45e80c9c44506e7cdf9a3bb39ebf82a8cd5b /Source/WebKit/chromium/tests/WebInputEventFactoryTestGtk.cpp | |
parent | be01689f43cf6882cf670d33df49ead1f570c53a (diff) | |
download | qtwebkit-b1e9e47fa11f608ae16bc07f97a2acf95bf80272.tar.gz |
Imported WebKit commit 499c84c99aa98e9870fa7eaa57db476c6d160d46 (http://svn.webkit.org/repository/webkit/trunk@119200)
Weekly update :). Particularly relevant changes for Qt are the use of the WebCore image decoders and direct usage
of libpng/libjpeg if available in the system.
Diffstat (limited to 'Source/WebKit/chromium/tests/WebInputEventFactoryTestGtk.cpp')
-rw-r--r-- | Source/WebKit/chromium/tests/WebInputEventFactoryTestGtk.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Source/WebKit/chromium/tests/WebInputEventFactoryTestGtk.cpp b/Source/WebKit/chromium/tests/WebInputEventFactoryTestGtk.cpp index 64c63eae9..3792eaf79 100644 --- a/Source/WebKit/chromium/tests/WebInputEventFactoryTestGtk.cpp +++ b/Source/WebKit/chromium/tests/WebInputEventFactoryTestGtk.cpp @@ -31,11 +31,16 @@ #include "config.h" #include <gdk/gdk.h> +#include <gdk/gdkkeysyms.h> #include <gtest/gtest.h> +#include "KeyboardEvent.h" #include "WebInputEvent.h" +#include "WebInputEventConversion.h" #include "WebInputEventFactory.h" +using WebKit::WebInputEvent; +using WebKit::WebKeyboardEvent; using WebKit::WebMouseEvent; using WebKit::WebInputEventFactory; @@ -172,4 +177,27 @@ TEST(WebInputEventFactoryTest, MouseUpClickCount) EXPECT_EQ(0, mouseUpEvent.clickCount); } +TEST(WebInputEventFactoryTest, NumPadConversion) +{ + // Construct a GDK input event for the numpad "5" key. + char five[] = "5"; + GdkEventKey gdkEvent; + memset(&gdkEvent, 0, sizeof(GdkEventKey)); + gdkEvent.type = GDK_KEY_PRESS; + gdkEvent.keyval = GDK_KP_5; + gdkEvent.string = five; + + // Numpad flag should be set on the WebKeyboardEvent. + WebKeyboardEvent webEvent = WebInputEventFactory::keyboardEvent(&gdkEvent); + EXPECT_TRUE(webEvent.modifiers & WebInputEvent::IsKeyPad); + + // Round-trip through the WebCore KeyboardEvent class. + WebKit::PlatformKeyboardEventBuilder platformBuilder(webEvent); + RefPtr<WebCore::KeyboardEvent> keypress = WebCore::KeyboardEvent::create(platformBuilder, 0); + EXPECT_TRUE(keypress->keyLocation() == WebCore::KeyboardEvent::DOM_KEY_LOCATION_NUMPAD); + + WebKit::WebKeyboardEventBuilder builder(*keypress); + EXPECT_TRUE(builder.modifiers & WebInputEvent::IsKeyPad); +} + } // anonymous namespace |