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

Unified Diff: third_party/WebKit/LayoutTests/fast/events/keyboardevent-key.html

Issue 1948763002: [EventSender] Fill DomKey in synthetic key events (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove two more keyboardevent-key-expected.txt Created 4 years, 8 months 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/fast/events/keyboardevent-key.html
diff --git a/third_party/WebKit/LayoutTests/fast/events/keyboardevent-key.html b/third_party/WebKit/LayoutTests/fast/events/keyboardevent-key.html
index 8ed0157199dceb60678268818edb20da46a78d9a..f6c086c49cf60643a3cc86e5218e03ed06fa83f5 100644
--- a/third_party/WebKit/LayoutTests/fast/events/keyboardevent-key.html
+++ b/third_party/WebKit/LayoutTests/fast/events/keyboardevent-key.html
@@ -1,103 +1,85 @@
<!DOCTYPE html>
-<link rel="help" href="http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent-key" />
-<script src="../../resources/js-test.js"></script>-
-<textarea id="textarea"></textarea>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
<script>
-description('Tests KeyboardEvent.key attribute');
-var textarea = document.getElementById('textarea');
-textarea.addEventListener('keydown', recordKeyEvent, false);
-textarea.addEventListener('keyup', recordKeyEvent, false);
-textarea.addEventListener('keypress', recordKeyEvent, false);
-textarea.focus();
+// Note: This test is only testing synthetic DomKey for eventSender, for real
+// DomKey generated on each platform please refer to individual tests.
+// e.g. platform_key_map_win_unittest.cc, web_input_event_builders_mac_unittest.mm
+test(function() {
+ if (!window.eventSender) {
+ document.write('This test requires eventSender');
+ return;
+ }
+
+ var lastKeyDown, lastKeyPress, lastKeyUp;
+ function recordKeyEvent(event) {
+ if (event.type === "keydown")
+ lastKeyDown = event;
+ else if (event.type === "keypress")
+ lastKeyPress = event;
+ else if (event.type === "keyup")
+ lastKeyUp = event;
+ }
+ document.addEventListener('keydown', recordKeyEvent, false);
+ document.addEventListener('keypress', recordKeyEvent, false);
+ document.addEventListener('keyup', recordKeyEvent, false);
-var lastKeyboardDownEvent, lastKeyboardPressEvent, lastKeyboardUpEvent;
-function recordKeyEvent(ev) {
- if (window.eventSender) {
- if (ev.type === "keydown")
- lastKeyboardDownEvent = ev;
- else if (ev.type === "keyup")
- lastKeyboardUpEvent = ev;
- else if (ev.type === "keypress")
- lastKeyboardPressEvent = ev;
- } else {
- debug('Type=' + ev.type + ',' + 'key=' + ev.key);
+ function testDomKey(keyString, expectedDomKey, shouldTestKeyPress, modifiers) {
+ lastKeyDown = null;
+ lastKeyPress = null;
+ lastKeyUp = null;
+ eventSender.keyDown(keyString, modifiers);
+ assert_equals(lastKeyDown.key, expectedDomKey);
+ assert_equals(lastKeyUp.key, expectedDomKey);
+ if (shouldTestKeyPress)
+ assert_equals(lastKeyPress.key, expectedDomKey);
}
-}
+ // Alpha&Numeric Keys
+ testDomKey('A', 'A', true, ['shiftKey']);
+ testDomKey('g', 'g', true);
+ testDomKey('h', 'h', true);
+ testDomKey('1', '1', true);
+ testDomKey('(', '(', true, ['shiftKey']);
-if (window.eventSender) {
- debug('Modifier Keys');
- eventSender.keyDown('leftControl');
- shouldEvaluateTo('lastKeyboardUpEvent.key', '\'Control\'');
- eventSender.keyDown('rightControl');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'Control\'');
- eventSender.keyDown('leftShift');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'Shift\'');
- eventSender.keyDown('rightShift');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'Shift\'');
- eventSender.keyDown('leftAlt');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'Alt\'');
- eventSender.keyDown('rightAlt');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'AltGraph\'');
- eventSender.keyDown('numLock');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'NumLock\'');
- shouldEvaluateTo('lastKeyboardUpEvent.key', '\'NumLock\'');
+ // Modifier Keys
+ testDomKey('leftControl', 'Control', false);
+ testDomKey('rightControl', 'Control', false);
+ testDomKey('leftShift', 'Shift', false);
+ testDomKey('rightShift', 'Shift', false);
+ testDomKey('leftAlt', 'Alt', false);
+ testDomKey('rightAlt', 'Alt', false);
+ testDomKey('numLock', 'NumLock', false);
- debug('Whitespace Keys');
- eventSender.keyDown('\n');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'Enter\'');
- eventSender.keyDown('\t');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'Tab\'');
- shouldEvaluateTo('lastKeyboardUpEvent.key', '\'Tab\'');
+ // Whitespace Keys
+ testDomKey('\n', 'Enter', true);
+ testDomKey('\t', 'Tab', false);
- debug('Navigation keys');
- eventSender.keyDown('rightArrow');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'ArrowRight\'');
- shouldEvaluateTo('lastKeyboardUpEvent.key', '\'ArrowRight\'');
- eventSender.keyDown('downArrow');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'ArrowDown\'');
- eventSender.keyDown('leftArrow');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'ArrowLeft\'');
- eventSender.keyDown('upArrow');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'ArrowUp\'');
- shouldEvaluateTo('lastKeyboardUpEvent.key', '\'ArrowUp\'');
- eventSender.keyDown('home');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'Home\'');
- eventSender.keyDown('end');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'End\'');
- eventSender.keyDown('pageUp');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'PageUp\'');
- eventSender.keyDown('pageDown');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'PageDown\'');
- shouldEvaluateTo('lastKeyboardUpEvent.key', '\'PageDown\'');
+ // Navigation keys
+ testDomKey('rightArrow', 'ArrowRight', false);
+ testDomKey('downArrow', 'ArrowDown', false);
+ testDomKey('leftArrow', 'ArrowLeft', false);
+ testDomKey('upArrow', 'ArrowUp', false);
+ testDomKey('home', 'Home', false);
+ testDomKey('end', 'End', false);
+ testDomKey('pageUp', 'PageUp', false);
+ testDomKey('pageDown', 'PageDown', false);
- debug('Editing Keys');
- eventSender.keyDown('backspace');
- shouldEvaluateTo('lastKeyboardDownEvent.code', '\'Backspace\'');
- eventSender.keyDown('insert');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'Insert\'');
- shouldEvaluateTo('lastKeyboardUpEvent.key', '\'Insert\'');
- eventSender.keyDown('delete');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'Delete\'');
+ // Editing Keys
+ testDomKey('backspace', 'Backspace', false);
+ testDomKey('insert', 'Insert', false);
+ testDomKey('delete', 'Delete', false);
- debug('Device Keys');
- eventSender.keyDown('printScreen');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'PrintScreen\'');
- shouldEvaluateTo('lastKeyboardUpEvent.key', '\'PrintScreen\'');
+ // Device Keys
+ testDomKey('printScreen', 'PrintScreen', false);
- debug('General Purpose Function Section');
- eventSender.keyDown('F1');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'F1\'');
- eventSender.keyDown('F6');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'F6\'');
- eventSender.keyDown('F12');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'F12\'');
+ // General Purpose Function Section
+ testDomKey('F1', 'F1', false);
+ testDomKey('F6', 'F6', false);
+ testDomKey('F12', 'F12', false);
- debug('UI Keys');
- eventSender.keyDown('escape');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'Escape\'');
- shouldEvaluateTo('lastKeyboardUpEvent.key', '\'Escape\'');
- eventSender.keyDown('menu');
- shouldEvaluateTo('lastKeyboardDownEvent.key', '\'MediaApps\'');
-}
+ // UI Keys
+ testDomKey('escape', 'Escape', false);
+ testDomKey('menu', 'ContextMenu', false);
+}, 'Testing synthetic DomKey for eventSender.');
</script>
« no previous file with comments | « components/test_runner/event_sender.cc ('k') | third_party/WebKit/LayoutTests/fast/events/keyboardevent-key-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698