41 lines
1.2 KiB
HTML
41 lines
1.2 KiB
HTML
<body>
|
|
|
|
<p>This test verifies that a <script> element that removes itself
|
|
from the document doesn't crash upon insertion into the document.</p>
|
|
<p>PASS: You didn't crash.</p>
|
|
|
|
<script id="dummy"></script>
|
|
|
|
<script>
|
|
if (window.testRunner)
|
|
testRunner.dumpAsText();
|
|
|
|
var scriptElement;
|
|
var scriptText = "var self = document.getElementById('script'); self.parentNode.removeChild(self);";
|
|
|
|
/* appendChild */
|
|
scriptElement = document.createElement("script");
|
|
scriptElement.setAttribute("id", "script");
|
|
scriptElement.appendChild(document.createTextNode(scriptText));
|
|
document.body.appendChild(scriptElement);
|
|
|
|
/* insertBefore */
|
|
scriptElement = document.createElement("script");
|
|
scriptElement.setAttribute("id", "script");
|
|
scriptElement.appendChild(document.createTextNode(scriptText));
|
|
document.body.insertBefore(scriptElement, document.getElementById("dummy"));
|
|
|
|
/* replaceChild */
|
|
scriptElement = document.createElement("script");
|
|
scriptElement.setAttribute("id", "script");
|
|
scriptElement.appendChild(document.createTextNode(scriptText));
|
|
document.body.replaceChild(scriptElement, document.getElementById("dummy"));
|
|
</script>
|
|
|
|
<script id="script">
|
|
/* parser insertion */
|
|
eval(scriptText);
|
|
</script>
|
|
|
|
</body>
|