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

Side by Side Diff: LayoutTests/fast/events/keydown-leftright-keys.html

Issue 20034002: Add support for KeyboardEvent.location attribute (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase on master Created 7 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> 1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2 <html> 2 <html>
3 <head> 3 <head>
4 <script src="../js/resources/js-test-pre.js"></script> 4 <script src="../js/resources/js-test-pre.js"></script>
5 </head> 5 </head>
6 <body> 6 <body>
7 <script> 7 <script>
8 description("This tests keyboard events with KeyLocationCode argument."); 8 description("This tests keyboard events with KeyLocationCode argument.");
9 9
10 var lastKeyboardEvent; 10 var lastKeyboardEvent;
11 var VK_SHIFT = 16; 11 var VK_SHIFT = 16;
12 var VK_CONTROL = 17; 12 var VK_CONTROL = 17;
13 var VK_MENU = 18; 13 var VK_MENU = 18;
14 var KEY_LOCATION_LEFT = 1; 14 var KEY_LOCATION_LEFT = 1;
15 var KEY_LOCATION_RIGHT = 2; 15 var KEY_LOCATION_RIGHT = 2;
16 16
17 function recordKeyEvent(ev) { 17 function recordKeyEvent(ev) {
18 ev = ev || event; 18 ev = ev || event;
19 ev.keyCode = (ev.which || ev.keyCode); 19 ev.keyCode = (ev.which || ev.keyCode);
20 if (window.eventSender) { 20 if (window.eventSender) {
21 lastKeyboardEvent = ev; 21 lastKeyboardEvent = ev;
22 } else { 22 } else {
23 debug('Type=' + ev.type + ',' + 23 debug('Type=' + ev.type + ',' +
24 'keyCode=' + ev.keyCode + ',' + 24 'keyCode=' + ev.keyCode + ',' +
25 'ctrlKey=' + ev.ctrlKey + ',' + 25 'ctrlKey=' + ev.ctrlKey + ',' +
26 'shiftKey=' + ev.shiftKey + ',' + 26 'shiftKey=' + ev.shiftKey + ',' +
27 'altKey=' + ev.altKey + ',' + 27 'altKey=' + ev.altKey + ',' +
28 'metaKey=' + ev.metaKey + ',' + 28 'metaKey=' + ev.metaKey + ',' +
29 'location=' + ev.keyLocation); 29 'location=' + ev.location);
30 } 30 }
31 } 31 }
32 32
33 function testKeyEventWithLocation(evString, expectedKeyCode, expectedLocation) { 33 function testKeyEventWithLocation(evString, expectedKeyCode, expectedLocation) {
34 eventSender.keyDown(evString, []); 34 eventSender.keyDown(evString, []);
35 shouldBe("lastKeyboardEvent.type", '"keydown"'); 35 shouldBe("lastKeyboardEvent.type", '"keydown"');
36 shouldEvaluateTo("lastKeyboardEvent.keyCode", expectedKeyCode); 36 shouldEvaluateTo("lastKeyboardEvent.keyCode", expectedKeyCode);
37 shouldEvaluateTo("lastKeyboardEvent.keyLocation", expectedLocation); 37 shouldEvaluateTo("lastKeyboardEvent.location", expectedLocation);
38 } 38 }
39 39
40 var textarea = document.createElement("textarea"); 40 var textarea = document.createElement("textarea");
41 textarea.addEventListener("keydown", recordKeyEvent, false); 41 textarea.addEventListener("keydown", recordKeyEvent, false);
42 document.body.insertBefore(textarea, document.body.firstChild); 42 document.body.insertBefore(textarea, document.body.firstChild);
43 textarea.focus(); 43 textarea.focus();
44 44
45 if (window.eventSender) { 45 if (window.eventSender) {
46 // location=0 indicates that we send events as standard keys. 46 // location=0 indicates that we send events as standard keys.
47 testKeyEventWithLocation("leftShift", VK_SHIFT, "KEY_LOCATION_LEFT"); 47 testKeyEventWithLocation("leftShift", VK_SHIFT, "KEY_LOCATION_LEFT");
48 testKeyEventWithLocation("leftControl", VK_CONTROL, "KEY_LOCATION_LEFT"); 48 testKeyEventWithLocation("leftControl", VK_CONTROL, "KEY_LOCATION_LEFT");
49 testKeyEventWithLocation("leftAlt", VK_MENU, "KEY_LOCATION_LEFT"); 49 testKeyEventWithLocation("leftAlt", VK_MENU, "KEY_LOCATION_LEFT");
50 50
51 testKeyEventWithLocation("rightShift", VK_SHIFT, "KEY_LOCATION_RIGHT"); 51 testKeyEventWithLocation("rightShift", VK_SHIFT, "KEY_LOCATION_RIGHT");
52 testKeyEventWithLocation("rightControl", VK_CONTROL, "KEY_LOCATION_RIGHT"); 52 testKeyEventWithLocation("rightControl", VK_CONTROL, "KEY_LOCATION_RIGHT");
53 testKeyEventWithLocation("rightAlt", VK_MENU, "KEY_LOCATION_RIGHT"); 53 testKeyEventWithLocation("rightAlt", VK_MENU, "KEY_LOCATION_RIGHT");
54 } else { 54 } else {
55 debug("This test requires DumpRenderTree."); 55 debug("This test requires DumpRenderTree.");
56 } 56 }
57 </script> 57 </script>
58 <script src="../js/resources/js-test-post.js"></script> 58 <script src="../js/resources/js-test-post.js"></script>
59 </body> 59 </body>
60 </html> 60 </html>
OLDNEW
« no previous file with comments | « LayoutTests/fast/events/js-keyboard-event-creation.html ('k') | LayoutTests/fast/events/keydown-leftright-keys-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698