test_bug922681.html (3467B)
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 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 e = document.createElement(tag); 80 testInnerHTML(e, "abc", "abc"); 81 testInnerHTML(e, "<td>", "<tr><td></td></tr>"); 82 testInnerHTML(e, "</body>", ""); 83 testInnerHTML(e, "<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>