<head>
<script>
function doit()
{
    var B = document.getElementById("span-B");
    B.customProperty = "B";
    B.nextSibling.customProperty = "D";

    document.getElementById("div").innerHTML = "<span>replacement content</span>";

    // create lots of objects to force a garbage collection
    var i = 0;
    var s;
    while (i < 5000) {
        i = i+1.11;
	s = s + " ";
    }

    var output= document.getElementById("output");

    output.innerHTML += B.customProperty + "<BR>";
    if (B.nextSibling) {
        output.innerHTML += B.nextSibling.customProperty + "<BR>";
    }
}

if (window.testRunner) {
    testRunner.dumpAsText();
}

</script>
</head>

<body onload="doit()">
<div style="border: 1px solid red">
<p>
This test verifies that DOM nodes are retained because a wrapper exists and is protected for a sibling. A wrapper need not exist for the node itself or for an ancestor.
</p>
<p>
The output should be the following pieces of text on lines by themselves: "replacement content", "B", "D".
</p>
</div>
<div id="div">
<span id="span-A"><span id="span-B"><span id="span-C">original span</span></span>
<span id="span-D"> xx </span>
</span>
</div>
<div id="output">
</div>
</body>
