<html>
<head>
<script>
if (window.testRunner)
testRunner.dumpAsText();
handler = function()
{
this.removeEventListener("DOMNodeRemoved", handler, false);
doc.adoptNode(this.parentElement);
}
showFailure = function(s)
{
document.body.innerHTML = "FAILURE: " + s;
}
window.onload = function()
{
element1 = document.createElement("x");
element2 = document.createElement("x");
element3 = document.createElement("x");
parent = document.createElement("x");
dummy = document.createElement("x");
doc = document.implementation.createHTMLDocument();
parent.appendChild(element1);
element1.addEventListener("DOMNodeRemoved", handler, false);
try {
document.body.appendChild(element1);
} catch (e) { }
if (element1.ownerDocument != element1.parentElement.ownerDocument)
return showFailure("appendChild");
document.adoptNode(parent);
parent.appendChild(element2);
try {
doc.body.insertBefore(element2, dummy);
} catch (e) { }
if (element2.ownerDocument != element2.parentElement.ownerDocument)
return showFailure("insertBefore");
parent.appendChild(element3);
try {
doc.body.replaceChild(element3, dummy);
} catch (e) { }
if (element3.ownerDocument != element3.parentElement.ownerDocument)
return showFailure("replaceChild");
}
</script>
</head>
<body>SUCCESS</body>
</html>