<html>

<head>
<script>
function test() {
    if(window.testRunner)
        testRunner.dumpAsText();
        
    var textnode1 = document.getElementById("node").firstChild;
    var textnode2 = textnode1.splitText(3);
    textnode2.nodeValue = "";
    
    var root = document.body;
    var it = document.createNodeIterator(root, NodeFilter.SHOW_ELEMENT, null, false);

    var n = it.nextNode();
    while(n) {
        n = it.nextNode();
    }
    
    var text = document.getElementById("node").innerText;
}
</script>
</head>

<body onload="test();">
<p>If a zero lengthed render object (such as a text node that has been set to "") occured at the end of a line, it was previously given a non-zero sized run.</p>
<p>A crash would occur on iteration over a node containing such a run.  NodeIterators, the innerText property, and hovering over a link all use iteration.</p>
<p>This tests iteration using both the innerText property and NodeIterators.  It is successful if it doesn't crash Safari.</p>
<hr>
<a href="#" id="node">hello</a></body></html>
