<!doctype html>
<html>
  <head>
    <title>history.replaceState before onload</title>
    <script type="text/javascript" src="/resources/testharness.js"></script>
    <script type="text/javascript" src="/resources/testharnessreport.js"></script>
  </head>
  <body>

    <noscript><p>Enable JavaScript and reload</p></noscript>
    <div id="log"></div>
    <script type="text/javascript">
var newUrl = location.href.replace(/\/[^\/]*$/,'\/011-1.html');
setup({explicit_done:true});
test(function () {
  history.replaceState('','','011-1.html');
}, 'replaceState should be able to set the location state');
test(function () {
  assert_equals( location.href, newUrl );
}, 'replaced location should be reflected immediately');
window.onload = function () {
  setTimeout(function () {
    test(function () {
      assert_equals( location.href, newUrl );
    }, 'replaced location should be retained after the page has loaded');
    done();
  },10);
};
    </script>

  </body>
</html>
