JS Test Harness: Insert the stylesheet dynamically
[WebKit-https.git] / LayoutTests / fast / forms / input-search-press-escape-key.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script src="../js/resources/js-test-pre.js"></script>
5 <script src="resources/common.js"></script>
6 </head>
7 <body>
8 <input id="search" type="search" onsearch="searchEventDispatched()" />
9 <p id="description">
10
11 </p>
12
13 <script>
14 var searchEventObserved;
15
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.");
19
20 if (window.layoutTestController && window.eventSender) {
21     var input = $("search");
22     var enabled = false;
23     var disabled = true;
24     var readonly = true;
25
26     searchEventObserved = false;
27     input.focus();
28     setInputAttributes(input, "foo", enabled);
29     eventSender.keyDown("\x1B");
30     shouldBeEqualToString('input.value', "");
31     shouldBe('searchEventObserved', 'true');
32     input.blur();
33
34     searchEventObserved = false;
35     input.focus();
36     setInputAttributes(input, "", enabled);
37     eventSender.keyDown("\x1B");
38     shouldBeEqualToString('input.value', "");
39     shouldBe('searchEventObserved', 'true');
40     input.blur();
41
42     searchEventObserved = false;
43     input.focus();
44     setInputAttributes(input, "foo", enabled, readonly);
45     eventSender.keyDown("\x1B");
46     shouldBeEqualToString('input.value', "foo");
47     shouldBe('searchEventObserved', 'false');
48     input.blur();
49
50     searchEventObserved = false;
51     input.focus();
52     setInputAttributes(input, "foo", disabled);
53     eventSender.keyDown("\x1B");
54     shouldBeEqualToString('input.value', "foo");
55     shouldBe('searchEventObserved', 'false');
56     input.blur();
57
58     searchEventObserved = false;
59     input.focus();
60     setInputAttributes(input, "foo", disabled, readonly);
61     eventSender.keyDown("\x1B");
62     shouldBeEqualToString('input.value', "foo");
63     shouldBe('searchEventObserved', 'false');
64     input.blur();
65 }
66
67 function setInputAttributes(input, text, disabled, readonly) {
68     input.value = text;
69     input.disabled = disabled;
70     input.readOnly = !!readonly;
71 }
72
73 function searchEventDispatched() {
74     searchEventObserved = true;
75 }
76
77 var successfullyParsed = true;
78 </script>
79 <script src="../js/resources/js-test-post.js"></script>
80 </body>
81 </html>