| <body> | |
| <pre id="error-log"></pre> | |
| <span id="container" style="color: green"> | |
| </span> | |
| <div style="display: none"> | |
| <span id="1"> | |
| 1 (black) | |
| </span> | |
| <span id="2"> | |
| 2 (green) | |
| </span> | |
| <span id="3"> | |
| 3 (green) | |
| </span> | |
| <span id="4"> | |
| 4 (black) | |
| </span> | |
| </div> | |
| <span id="status" style="color: red"> | |
| FAILURE | |
| </span> | |
| </body> | |
| <script> | |
| if (window.testRunner) | |
| testRunner.dumpAsText(); | |
| // verify all standard cases | |
| document.getElementById("container").insertAdjacentElement("beforeBegin", document.getElementById("1")); | |
| document.getElementById("container").insertAdjacentElement("afterBegin", document.getElementById("2")); | |
| document.getElementById("container").insertAdjacentElement("beforeEnd", document.getElementById("3")); | |
| document.getElementById("container").insertAdjacentElement("afterEnd", document.getElementById("4")); | |
| function assertThrows(func) { | |
| var testPassed = false; | |
| try { | |
| func(); | |
| } catch (e) { | |
| document.getElementById("error-log").innerHTML += "Caught expected exception: " + e + "\n"; | |
| testPassed = true; | |
| } | |
| return testPassed; | |
| } | |
| // check that exceptions are thrown as required | |
| var passes = true; | |
| passes = passes & assertThrows(function() { | |
| // should throw TYPE_MISMATCH_ERR | |
| document.getElementById("container").insertAdjacentElement("blah", document.getElementById("1")); | |
| }); | |
| passes = passes & assertThrows(function() { | |
| // should throw NOT_SUPPORTED_ERR | |
| document.getElementById("container").insertAdjacentElement("beforeEnd", null); | |
| }); | |
| var elt = document.createElement("div"); | |
| passes = passes & (elt.insertAdjacentElement("beforeBegin", document.createElement("p")) == null); | |
| if (passes) { | |
| document.getElementById("status").style.color = "green"; | |
| document.getElementById("status").innerHTML = "<br><br>PASS"; | |
| } | |
| </script> |