30 lines
1.1 KiB
HTML
30 lines
1.1 KiB
HTML
<!DOCTYPE html>
|
|
<div id="sandbox" style="display:none"></div>
|
|
<script src="../../../resources/js-test-pre.js"></script>
|
|
<script>
|
|
description("Test MutationEvents interfering with MutationObservers: removing nodes 'out of order'");
|
|
var sandbox = document.getElementById('sandbox');
|
|
var removed = false;
|
|
sandbox.addEventListener('DOMNodeInserted', function() {
|
|
if (!removed) {
|
|
sandbox.removeChild(sandbox.firstChild);
|
|
removed = true;
|
|
}
|
|
});
|
|
var observer = new MutationObserver(function(){});
|
|
observer.observe(sandbox, {childList: true});
|
|
sandbox.innerHTML = '<b></b><i></i>';
|
|
|
|
var mutations = observer.takeRecords();
|
|
shouldBe("mutations.length", "2");
|
|
shouldBe("mutations[0].addedNodes.length", "1");
|
|
shouldBe("mutations[0].removedNodes.length", "0");
|
|
shouldBe("mutations[0].addedNodes[0].tagName", "'B'");
|
|
shouldBe("mutations[1].addedNodes.length", "1");
|
|
shouldBe("mutations[1].removedNodes.length", "1");
|
|
shouldBe("mutations[1].removedNodes[0].tagName", "'B'");
|
|
shouldBe("mutations[1].addedNodes[0].tagName", "'I'");
|
|
</script>
|
|
</script>
|
|
<script src="../../../resources/js-test-post.js"></script>
|