4 <script src="../js/resources/js-test-pre.js"></script>
5 <script src="resources/common.js"></script>
8 <input id="search" type="search" onsearch="searchEventDispatched()" />
14 var searchEventObserved;
16 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. " +
17 "To run (a part of) this test manually, type some text in the search form and then press the Escape key. " +
18 "If the text is cleared, then the test passes.");
20 if (window.layoutTestController && window.eventSender) {
21 var input = $("search");
26 searchEventObserved = false;
28 setInputAttributes(input, "foo", enabled);
29 eventSender.keyDown("\x1B");
30 shouldBeEqualToString('input.value', "");
31 shouldBe('searchEventObserved', 'true');
34 searchEventObserved = false;
36 setInputAttributes(input, "", enabled);
37 eventSender.keyDown("\x1B");
38 shouldBeEqualToString('input.value', "");
39 shouldBe('searchEventObserved', 'true');
42 searchEventObserved = false;
44 setInputAttributes(input, "foo", enabled, readonly);
45 eventSender.keyDown("\x1B");
46 shouldBeEqualToString('input.value', "foo");
47 shouldBe('searchEventObserved', 'false');
50 searchEventObserved = false;
52 setInputAttributes(input, "foo", disabled);
53 eventSender.keyDown("\x1B");
54 shouldBeEqualToString('input.value', "foo");
55 shouldBe('searchEventObserved', 'false');
58 searchEventObserved = false;
60 setInputAttributes(input, "foo", disabled, readonly);
61 eventSender.keyDown("\x1B");
62 shouldBeEqualToString('input.value', "foo");
63 shouldBe('searchEventObserved', 'false');
67 function setInputAttributes(input, text, disabled, readonly) {
69 input.disabled = disabled;
70 input.readOnly = !!readonly;
73 function searchEventDispatched() {
74 searchEventObserved = true;
77 <script src="../js/resources/js-test-post.js"></script>