content/base/test/test_bug922681.html

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:8e89985a74a9
1 <!DOCTYPE HTML>
2 <html>
3 <!--
4 https://bugzilla.mozilla.org/show_bug.cgi?id=922681
5 -->
6 <head>
7 <meta charset="utf-8">
8 <title>Test for Bug 922681</title>
9 <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
10 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
11 <script type="application/javascript">
12 function testInnerHTMLParserInsertionMode() {
13
14 function testInnerHTML(el, input, output) {
15 el.innerHTML = input;
16 is(el.innerHTML, output, el.tagName.toLowerCase() + ': "' + input + '"');
17 }
18
19 var c;
20
21 c = document.createElement("html");
22 testInnerHTML(c, "", "<head></head><body></body>");
23 testInnerHTML(c, "xyz", "<head></head><body>xyz</body>");
24 testInnerHTML(c, "<input>", "<head></head><body><input></body>");
25
26 c = document.createElement("colgroup");
27 testInnerHTML(c, "abcdef", "");
28 testInnerHTML(c, "", "");
29 testInnerHTML(c, "\n", "\n");
30 testInnerHTML(c, "<col>", "<col>");
31
32 c = document.createElement("select");
33 testInnerHTML(c, "123", "123");
34 testInnerHTML(c, "<input>", "");
35 testInnerHTML(c, "\0", "");
36 testInnerHTML(c, "<col>", "");
37 testInnerHTML(c, "<option>", "<option></option>");
38
39 c = document.createElement("head");
40 testInnerHTML(c, "123", "123");
41 testInnerHTML(c, "\n", "\n");
42
43 c = document.createElement("frameset");
44 testInnerHTML(c, "456", "");
45 testInnerHTML(c, "\n", "\n");
46 testInnerHTML(c, "<input>", "");
47 testInnerHTML(c, "\0", "");
48
49 c = document.createElement("table");
50 testInnerHTML(c, "abc", "abc");
51 testInnerHTML(c, "<td>", "<tbody><tr><td></td></tr></tbody>");
52 testInnerHTML(c, "</body>", "");
53 testInnerHTML(c, "<input>", "<input>");
54
55 c = document.createElement("tr");
56 testInnerHTML(c, "xyz", "xyz");
57 testInnerHTML(c, "<td>", "<td></td>");
58 testInnerHTML(c, "</body>", "");
59 testInnerHTML(c, "<table>", "");
60
61 c = document.createElement("td");
62 testInnerHTML(c, "789", "789");
63 testInnerHTML(c, "\0", "");
64 testInnerHTML(c, "<td>", "");
65
66 c = document.createElement("th");
67 testInnerHTML(c, "789", "789");
68 testInnerHTML(c, "\0", "");
69 testInnerHTML(c, "</tr>", "");
70
71 c = document.createElement("caption");
72 testInnerHTML(c, "xyz", "xyz");
73 testInnerHTML(c, "\0", "");
74 testInnerHTML(c, "<td>", "");
75 testInnerHTML(c, "<dd>", "<dd></dd>");
76 testInnerHTML(c, "<body>", "");
77
78 function testTableBody(tag) {
79 var c = document.createElement(tag);
80 testInnerHTML(c, "abc", "abc");
81 testInnerHTML(c, "<td>", "<tr><td></td></tr>");
82 testInnerHTML(c, "</body>", "");
83 testInnerHTML(c, "<input>", "<input>");
84 }
85 testTableBody("thead");
86 testTableBody("tbody");
87 testTableBody("tfoot");
88
89 c = document.createElement("template");
90 testInnerHTML(c, "abc", "abc");
91 testInnerHTML(c, "<td>", "<td></td>");
92 testInnerHTML(c, "</template>", "");
93 testInnerHTML(c, "<input>", "<input>");
94
95 c = document.createElement("div");
96 testInnerHTML(c, "abc", "abc");
97 testInnerHTML(c, "<td>", "");
98 testInnerHTML(c, "</body>", "");
99 testInnerHTML(c, "<input>", "<input>");
100
101 SimpleTest.finish();
102 }
103
104 addLoadEvent(testInnerHTMLParserInsertionMode);
105 SimpleTest.waitForExplicitFinish();
106 </script>
107 </head>
108 <body>
109 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=922681">Mozilla Bug 922681</a>
110 <pre id="test">
111 </pre>
112 </body>
113 </html>

mercurial