31 lines
1.2 KiB
HTML
31 lines
1.2 KiB
HTML
<!DOCTYPE html>
|
|
<div id="sandbox" style="display:none"><span></span></div>
|
|
<script src="../../../resources/js-test-pre.js"></script>
|
|
<script>
|
|
description("Test MutationEvents interfering with MutationObservers: adding nodes 'out of order'");
|
|
var sandbox = document.getElementById('sandbox');
|
|
var inserted = false;
|
|
sandbox.addEventListener('DOMNodeRemoved', function() {
|
|
if (!inserted) {
|
|
sandbox.appendChild(document.createElement('div'));
|
|
inserted = true;
|
|
}
|
|
});
|
|
var observer = new MutationObserver(function(){});
|
|
observer.observe(sandbox, {childList: true});
|
|
sandbox.textContent = 'hello world';
|
|
|
|
var mutations = observer.takeRecords();
|
|
shouldBe("mutations.length", "3");
|
|
shouldBe("mutations[0].addedNodes.length", "0");
|
|
shouldBe("mutations[0].removedNodes.length", "1");
|
|
shouldBe("mutations[0].removedNodes[0].tagName", "'SPAN'");
|
|
shouldBe("mutations[1].addedNodes.length", "1");
|
|
shouldBe("mutations[1].removedNodes.length", "0");
|
|
shouldBe("mutations[1].addedNodes[0].tagName", "'DIV'");
|
|
shouldBe("mutations[2].addedNodes.length", "1");
|
|
shouldBe("mutations[2].removedNodes.length", "0");
|
|
shouldBe("mutations[2].addedNodes[0].nodeValue", "'hello world'");
|
|
</script>
|
|
<script src="../../../resources/js-test-post.js"></script>
|