Chromium Code Reviews| Index: LayoutTests/fast/events/press-enter-key-on-focused-element-inside-link.html |
| diff --git a/LayoutTests/fast/events/press-enter-key-on-focused-element-inside-link.html b/LayoutTests/fast/events/press-enter-key-on-focused-element-inside-link.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..21aadcc301119dc0f2a0011afbfba2d1bca9a174 |
| --- /dev/null |
| +++ b/LayoutTests/fast/events/press-enter-key-on-focused-element-inside-link.html |
| @@ -0,0 +1,53 @@ |
| +<!DOCTYPE html> |
| +<script src="../../resources/js-test.js"></script> |
| +<a id="link" href="#" tabindex="-1" onclick="debug(eventInfo(event))"> |
| + <h1 tabindex="1" id="focus0" |
| + onkeydown="debug(eventInfo(event))" |
| + onkeypress="debug(eventInfo(event))" |
| + onkeyup="debug(eventInfo(event))">EnterMe</h1> |
| + <textarea tabindex="2" id="focus1" |
| + onkeydown="debug(eventInfo(event))" |
| + onkeypress="debug(eventInfo(event))" |
| + onkeyup="debug(eventInfo(event))">TypeHere</textarea> |
| +</a> |
| +<svg width="200" height="50" onclick="debug(eventInfo(event))">> |
|
robwu
2014/10/13 21:57:04
Remove the trailing >.
|
| + <a xlink:href="#"> |
| + <text font-size="18px" y="20" tabindex="3" |
| + onkeydown="debug(eventInfo(event))" |
| + onkeypress="debug(eventInfo(event))" |
| + onkeyup="debug(eventInfo(event))">SVG anchor with tabindex</text> |
| + </a> |
| +</svg> |
| +<div id="console"></div> |
| +<script> |
| + description('This test ensures that the link is activated by enter key on focusing the child element inside the anchor'); |
| + |
| + function test(eventType) { |
|
robwu
2014/10/13 21:57:04
Next time, please choose a more descriptive name t
|
| + var event = document.createEvent('KeyboardEvents'); |
| + event.initKeyboardEvent(eventType, true, true, window, 'Enter', 0, 0, 0, 0, 0, false); |
| + document.activeElement.dispatchEvent(event); |
| + } |
| + function eventInfo(event) { |
| + target = event.srcElement ? event.srcElement : event.target; |
|
robwu
2014/10/13 21:57:04
`srcElement` is a non-standard property and only n
|
| + if (event.type == "keydown" || event.type == "keypress" || event.type == "keyup") |
|
robwu
2014/10/13 21:57:04
Nit: Try to be consistent with quotes. Either use
|
| + return event.keyIdentifier == "U+0009" ? "" : target.tagName + " - " + event.type + ' - ' + event.keyIdentifier; |
| + else if (event.type == "click") |
| + return target.tagName + " - " + event.type; |
| + else |
| + return "unexpected event - " + target.tagName + " - " + event.type; |
| + |
| + } |
| + if (window.eventSender) |
| + eventSender.keyDown("\t"); |
| + test('keydown'); |
| + test('keypress'); |
| + test('keyup'); |
| + if (window.eventSender) { |
| + eventSender.keyDown("\t"); |
| + eventSender.keyDown("\n"); |
| + eventSender.keyDown("\t"); |
| + } |
| + test('keydown'); |
| + test('keypress'); |
| + test('keyup'); |
| +</script> |