80 lines
2.2 KiB
HTML
80 lines
2.2 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
<script src="resources/common.js"></script>
|
|
</head>
|
|
<body>
|
|
<input id="search" type="search" onsearch="searchEventDispatched()" />
|
|
<p id="description">
|
|
|
|
</p>
|
|
|
|
<script>
|
|
var searchEventObserved;
|
|
|
|
description("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.");
|
|
|
|
if (window.testRunner && 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;
|
|
}
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|