blob: 421bbd3b68ac83de1e16021a9b8ef40429eba8a4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
<!DOCTYPE html>
<html>
<body>
<p>This test checks that typing Enter into an input element does not fire input or textInput.<br>
To run manually, type enter in the input element below.</p>
<form id="form">
<input id="el">
</form>
<br>
<div id="result"></div>
<pre id="console"></pre>
<script>
function log(msg) {
document.getElementById('console').appendChild(document.createTextNode(msg + '\n'));
}
var unexpectedEvents = 0;
var enterChar = '\r'.charCodeAt(0);
function fail(event) {
if (lastKeyPressed != enterChar) {
log(event.type + ' fired.');
return;
}
unexpectedEvents++;
log('Unexpected ' + event.type + ' fired.');
result.innerHTML = '<span style="padding: 5px; background-color: red">FAIL</span>';
}
var lastKeyPressed = 0;
el.addEventListener('keypress', function(event) { lastKeyPressed = event.keyCode; });
el.addEventListener('input', fail);
el.addEventListener('textInput', fail);
// If the form is submitted on enter and no unexpected event has been fired, success!
form.addEventListener('submit', function(event) {
if (!unexpectedEvents && !result.hasChildNodes())
result.innerHTML = '<span style="padding: 5px; background-color: green">SUCCESS</span>';
event.preventDefault();
});
if (window.testRunner)
testRunner.dumpAsText();
el.focus();
if (window.eventSender) {
log('\nSending Enter to input element');
eventSender.keyDown('\r', []);
} else if (window.testRunner)
log('This test requires eventSender to run in LayoutTests.');
</script>
</body>
</html>
|