chromium/third_party/blink/web_tests/fast/history/history-traversal-is-asynchronous.html

<!DOCTYPE html>
<html>
<head>
  <script src="../../resources/js-test.js"></script>
</head>
<body>
<p id="description"></p>
<pre id="console"></pre>
<script>
description('Checks that session history traversal is done asynchronously.');

onload = function()
{
    // Make sure that we can generate history entries
    setTimeout(runTest, 0);
}

function runTest() 
{
    location.hash = '#state1';
    history.back();
    // If history.back() is asychronous, then the location won't have been
    // updated yet.
    shouldBe('location.hash', '"#state1"');

    finishJSTest();
}
var jsTestIsAsync = true;
</script>  
</body>
</html>