<script src="resources/redirect-updates-history-item.js"></script>
<script>

// Test that we properly update a history item when returning to the history
// item results in a redirect to a different document.  We verify that the
// resulting document is not treated as the same document as the original
// document in history.  See redirect-on-back-updates-history-item.php for more
// details.

if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.dumpBackForwardList();
    testRunner.waitUntilDone();
}
onload = function() {
    setTimeout(function() {
        clearLocationCookie();
        location = 'resources/redirect-on-back-updates-history-item.php';
    }, 0);
}
</script>
