blob: 2db8bac2c5ffca8c4a84b752a9f4b7137207b6c0 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../js/resources/js-test-pre.js"></script>
<script src="resources/common.js"></script>
</head>
<body>
<input id="search" type="search" onsearch="searchEventDispatched()" />
<div id="console">
<p>
This tests if the value in a search input form is cleared
and a 'search' event is triggered, when we press the Escape key.
To run (a part of) this test manually,
type some text in the search form and then press the Escape key.
If the text is cleared, then the test passes.
</p>
</div>
<script>
var searchEventObserved;
if (window.layoutTestController && window.eventSender) {
var input = $("search");
var enabled = false;
var disabled = true;
var readonly = true;
searchEventObserved = false;
input.focus();
setInputAttributes(input, "foo", enabled);
eventSender.keyDown("\x1B");
shouldBeEqualToString('input.value', "");
shouldBe('searchEventObserved', 'true');
input.blur();
searchEventObserved = false;
input.focus();
setInputAttributes(input, "", enabled);
eventSender.keyDown("\x1B");
shouldBeEqualToString('input.value', "");
shouldBe('searchEventObserved', 'true');
input.blur();
searchEventObserved = false;
input.focus();
setInputAttributes(input, "foo", enabled, readonly);
eventSender.keyDown("\x1B");
shouldBeEqualToString('input.value', "foo");
shouldBe('searchEventObserved', 'false');
input.blur();
searchEventObserved = false;
input.focus();
setInputAttributes(input, "foo", disabled);
eventSender.keyDown("\x1B");
shouldBeEqualToString('input.value', "foo");
shouldBe('searchEventObserved', 'false');
input.blur();
searchEventObserved = false;
input.focus();
setInputAttributes(input, "foo", disabled, readonly);
eventSender.keyDown("\x1B");
shouldBeEqualToString('input.value', "foo");
shouldBe('searchEventObserved', 'false');
input.blur();
}
function setInputAttributes(input, text, disabled, readonly) {
input.value = text;
input.disabled = disabled;
input.readOnly = !!readonly;
}
function searchEventDispatched() {
searchEventObserved = true;
}
var successfullyParsed = true;
</script>
<script src="../js/resources/js-test-post.js"></script>
</body>
</html>