47 lines
1.2 KiB
HTML
47 lines
1.2 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script type="text/javascript">
|
|
function log(msg)
|
|
{
|
|
document.body.appendChild(document.createTextNode(msg));
|
|
}
|
|
|
|
function appendItem(list, caption)
|
|
{
|
|
var item = document.createElement('li');
|
|
item.appendChild(document.createTextNode(caption));
|
|
list.appendChild(item);
|
|
}
|
|
|
|
function runTests()
|
|
{
|
|
if (window.testRunner)
|
|
testRunner.dumpAsText();
|
|
|
|
var fragment = document.createDocumentFragment();
|
|
var list = document.createElement('ul');
|
|
var i;
|
|
for (i = 0; i < 5; i++)
|
|
appendItem(list, 'item ' + i);
|
|
|
|
fragment.appendChild(list);
|
|
document.addEventListener("DOMNodeRemoved", function() {
|
|
appendItem(list, 'item ' + i++);
|
|
}, false);
|
|
|
|
document.body.appendChild(fragment);
|
|
list.textContent = '';
|
|
|
|
if (list.childNodes.length == 0)
|
|
log('PASS: No infinite loop.')
|
|
else
|
|
log('FAIL: Has too many children.')
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="runTests();">
|
|
|
|
</body>
|
|
</html>
|