<html>
<head>
<script>

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

function runTest() {
    window.location.hash = '#foobarbaz';
    var node = document.createElement('div');
    node.innerHTML = 'anchor has been set';
    document.body.appendChild(node);

    window.location.hash = '#';
    var node = document.createElement('div');
    node.innerHTML = 'anchor has been removed';
    document.body.appendChild(node);
}

</script>
</head>

<body onload='runTest()'>
Test for https://bugs.webkit.org/show_bug.cgi?id=18951<br>
WebKit used to be confused when setting the ref to an empty anchor from a non-empty anchor, causing all sorts of weird loading behavior.<br>
Not anymore!<br>
</body>
</html>
