blob: 21cb83f9814ac2f013225c43c9681bd5a52727b0 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../resources/js-test.js"></script>
</head>
<body>
<div>
<div id="target">
<b></b><b id="oldChild"></b><b></b>
</div>
<div id="newChild"></div>
</div>
<script>
description("Ensures that replaceChild() throws an exception if mutation even handler does something wrong");
var target = document.getElementById('target');
var oldChild = document.getElementById('oldChild');
var newChild = document.getElementById('newChild');
function handler(){
document.removeEventListener("DOMNodeRemoved", handler, false);
newChild.parentNode.removeChild(newChild);
target.parentNode.removeChild(target);
newChild.appendChild(target);
}
document.addEventListener("DOMNodeRemoved", handler, false);
shouldThrow("target.replaceChild(newChild, oldChild);", '"NotFoundError: Failed to execute \'replaceChild\' on \'Node\': The node to be removed is no longer a child of this node. Perhaps it was moved in response to a mutation?"');
</script>
</body>
</html>