1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/content/base/test/test_bug922681.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,113 @@ 1.4 +<!DOCTYPE HTML> 1.5 +<html> 1.6 +<!-- 1.7 +https://bugzilla.mozilla.org/show_bug.cgi?id=922681 1.8 +--> 1.9 +<head> 1.10 + <meta charset="utf-8"> 1.11 + <title>Test for Bug 922681</title> 1.12 + <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> 1.13 + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 1.14 + <script type="application/javascript"> 1.15 + function testInnerHTMLParserInsertionMode() { 1.16 + 1.17 + function testInnerHTML(el, input, output) { 1.18 + el.innerHTML = input; 1.19 + is(el.innerHTML, output, el.tagName.toLowerCase() + ': "' + input + '"'); 1.20 + } 1.21 + 1.22 + var c; 1.23 + 1.24 + c = document.createElement("html"); 1.25 + testInnerHTML(c, "", "<head></head><body></body>"); 1.26 + testInnerHTML(c, "xyz", "<head></head><body>xyz</body>"); 1.27 + testInnerHTML(c, "<input>", "<head></head><body><input></body>"); 1.28 + 1.29 + c = document.createElement("colgroup"); 1.30 + testInnerHTML(c, "abcdef", ""); 1.31 + testInnerHTML(c, "", ""); 1.32 + testInnerHTML(c, "\n", "\n"); 1.33 + testInnerHTML(c, "<col>", "<col>"); 1.34 + 1.35 + c = document.createElement("select"); 1.36 + testInnerHTML(c, "123", "123"); 1.37 + testInnerHTML(c, "<input>", ""); 1.38 + testInnerHTML(c, "\0", ""); 1.39 + testInnerHTML(c, "<col>", ""); 1.40 + testInnerHTML(c, "<option>", "<option></option>"); 1.41 + 1.42 + c = document.createElement("head"); 1.43 + testInnerHTML(c, "123", "123"); 1.44 + testInnerHTML(c, "\n", "\n"); 1.45 + 1.46 + c = document.createElement("frameset"); 1.47 + testInnerHTML(c, "456", ""); 1.48 + testInnerHTML(c, "\n", "\n"); 1.49 + testInnerHTML(c, "<input>", ""); 1.50 + testInnerHTML(c, "\0", ""); 1.51 + 1.52 + c = document.createElement("table"); 1.53 + testInnerHTML(c, "abc", "abc"); 1.54 + testInnerHTML(c, "<td>", "<tbody><tr><td></td></tr></tbody>"); 1.55 + testInnerHTML(c, "</body>", ""); 1.56 + testInnerHTML(c, "<input>", "<input>"); 1.57 + 1.58 + c = document.createElement("tr"); 1.59 + testInnerHTML(c, "xyz", "xyz"); 1.60 + testInnerHTML(c, "<td>", "<td></td>"); 1.61 + testInnerHTML(c, "</body>", ""); 1.62 + testInnerHTML(c, "<table>", ""); 1.63 + 1.64 + c = document.createElement("td"); 1.65 + testInnerHTML(c, "789", "789"); 1.66 + testInnerHTML(c, "\0", ""); 1.67 + testInnerHTML(c, "<td>", ""); 1.68 + 1.69 + c = document.createElement("th"); 1.70 + testInnerHTML(c, "789", "789"); 1.71 + testInnerHTML(c, "\0", ""); 1.72 + testInnerHTML(c, "</tr>", ""); 1.73 + 1.74 + c = document.createElement("caption"); 1.75 + testInnerHTML(c, "xyz", "xyz"); 1.76 + testInnerHTML(c, "\0", ""); 1.77 + testInnerHTML(c, "<td>", ""); 1.78 + testInnerHTML(c, "<dd>", "<dd></dd>"); 1.79 + testInnerHTML(c, "<body>", ""); 1.80 + 1.81 + function testTableBody(tag) { 1.82 + var c = document.createElement(tag); 1.83 + testInnerHTML(c, "abc", "abc"); 1.84 + testInnerHTML(c, "<td>", "<tr><td></td></tr>"); 1.85 + testInnerHTML(c, "</body>", ""); 1.86 + testInnerHTML(c, "<input>", "<input>"); 1.87 + } 1.88 + testTableBody("thead"); 1.89 + testTableBody("tbody"); 1.90 + testTableBody("tfoot"); 1.91 + 1.92 + c = document.createElement("template"); 1.93 + testInnerHTML(c, "abc", "abc"); 1.94 + testInnerHTML(c, "<td>", "<td></td>"); 1.95 + testInnerHTML(c, "</template>", ""); 1.96 + testInnerHTML(c, "<input>", "<input>"); 1.97 + 1.98 + c = document.createElement("div"); 1.99 + testInnerHTML(c, "abc", "abc"); 1.100 + testInnerHTML(c, "<td>", ""); 1.101 + testInnerHTML(c, "</body>", ""); 1.102 + testInnerHTML(c, "<input>", "<input>"); 1.103 + 1.104 + SimpleTest.finish(); 1.105 + } 1.106 + 1.107 + addLoadEvent(testInnerHTMLParserInsertionMode); 1.108 + SimpleTest.waitForExplicitFinish(); 1.109 + </script> 1.110 +</head> 1.111 +<body> 1.112 +<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=922681">Mozilla Bug 922681</a> 1.113 +<pre id="test"> 1.114 +</pre> 1.115 +</body> 1.116 +</html>