<!DOCTYPE HTML>
<html>
  <head>
    <title>history_back</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
  </head>
  <body>
    <div id="log"></div>
    <script>
    var t = async_test("history back");

    t.step(function () {
      window.history.pushState(1, document.title, '?x=1');
      window.history.pushState(2, document.title, '?x=2');

      window.history.back();
    });

    window.addEventListener('popstate', t.step_func(function(e) {
      assert_equals(e.state, 1, "history state");

      t.done();
    }), false);
    </script>
  </body>
</html>
