summaryrefslogtreecommitdiff
path: root/Source/WebKit/chromium/tests/WebInputEventFactoryTestGtk.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-06-01 10:36:58 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-06-01 10:36:58 +0200
commitb1e9e47fa11f608ae16bc07f97a2acf95bf80272 (patch)
treec88c45e80c9c44506e7cdf9a3bb39ebf82a8cd5b /Source/WebKit/chromium/tests/WebInputEventFactoryTestGtk.cpp
parentbe01689f43cf6882cf670d33df49ead1f570c53a (diff)
downloadqtwebkit-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.cpp28
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