blob: 7bb44b0eb17caf993a64330e992c63c41aac04ff [file] [log] [blame]
<!DOCTYPE html>
<html>
<body>
<script src="../../resources/js-test.js"></script>
<script>
description(`This tests re-parenting a child of the document fragment during an insertion so as to create a circular node tree.<br>
WebKit should detect this case and throw HierarchyRequestError.`);
fragment = document.createDocumentFragment();
container = document.createElement('div');
refChild = container.appendChild(document.createElement('section'));
child = fragment.appendChild(document.createElement('div'));
childShadowRoot = child.attachShadow({mode: 'closed'});
fragment.addEventListener('DOMSubtreeModified', function() {
childShadowRoot.appendChild(container);
});
shouldThrowErrorName(`container.insertBefore(fragment, refChild)`, 'HierarchyRequestError');
shouldBe('container.parentNode', 'childShadowRoot');
shouldBe('child.parentNode', 'null');
</script>
</body>
</html>