chromium/third_party/blink/web_tests/fast/loader/document-with-fragment-url-4.html

<script>

if (!sessionStorage.in_document_with_fragment_url_4)
    sessionStorage.in_document_with_fragment_url_4 = true;
else
    delete sessionStorage.in_document_with_fragment_url_4;

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

function documentURLHash()
{
    var index = document.URL.lastIndexOf("#");
    if (index == -1)
        return "";
    return document.URL.substring(index);
}

function hashChanged()
{
    alert("Hash changed to " + documentURLHash() + " which is interesting because we shouldn't get a hashchange event in this test.");
}

function loaded()
{
    if (sessionStorage.in_document_with_fragment_url_4) {
        alert("First load complete.  URL's current hash is " + documentURLHash());
        history.replaceState(null, null, "#foo");
        alert("After replaceState, the URL's current hash is " + documentURLHash());
        var rect = document.getElementById("clickanchor").getBoundingClientRect();
        eventSender.mouseMoveTo(rect.left + rect.width / 2, rect.top + rect.height / 2);
        eventSender.mouseDown();
        eventSender.mouseUp();
    } else {
        alert("Second load complete.  URL's current hash is " + documentURLHash());
        if (window.testRunner)
            testRunner.notifyDone();
    }
}

</script>
<body onhashchange="hashChanged();" onload="loaded();">
This page uses history.replaceState() to add #foo to its URL.  Then click the second link, which has an empty href and should take you back to the original URL without the #foo.<br>
<a id="clickanchor" href="">Click here to return to the original page with the original url</a>
</body>