blob: 452530d4f24185f1c5dc65ca34741168df7eaae4 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test.js"></script>
</head>
<body>
<p id="description"></p>
<div id="console"></div>
<div oninput="handleDivOnInput(event)">
<textarea id="ta">before</textarea>
</div>
<script>
description('Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=15189">https://bugs.webkit.org/show_bug.cgi?id=15189</a><br>');
var handleTextareaOnInputCallCount = 0;
var handleDivOnInputCallCount = 0;
var successfullyParsed = false;
function handleDivOnInput(e) {
if (e.target !== ta) {
testFailed('Wrong target');
} else {
handleDivOnInputCallCount++;
shouldBeEqualToString('ta.value', 'x');
}
}
function handleTextareaOnInput(e) {
if (e.target !== ta) {
testFailed('Wrong target');
} else {
handleTextareaOnInputCallCount++;
shouldBeEqualToString('ta.value', 'x');
}
}
var ta = document.getElementById('ta');
ta.setAttribute('oninput', 'handleTextareaOnInput(event)');
// Change the value before focusing.
ta.value = '';
ta.focus();
if (window.eventSender) {
eventSender.keyDown('x', []);
shouldEvaluateTo('handleTextareaOnInputCallCount', 1);
shouldEvaluateTo('handleDivOnInputCallCount', 1);
// Change programmatically
ta.value = 'programmatically';
// Should not have triggered the events.
shouldEvaluateTo('handleTextareaOnInputCallCount', 1);
shouldEvaluateTo('handleDivOnInputCallCount', 1);
}
</script>
</body>
</html>