<!doctype html>
<title>Traverse the history back and forward when a history entry is written after the load event</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
  var t = async_test();
  started = false;
  pages = []
  start_test_wait = t.step_func(
    function() {
    var check_result = t.step_func(function() {
      if (pages.length < 5) {
        setTimeout(check_result, 500);
        return
      }
      //The pass condition here is based on the idea that the spec is wrong and browsers are right
      assert_array_equals(pages, [3, 4, 2, 3, 4], "Pages opened during history navigation");
      t.done();
    });
    setTimeout(check_result, 500);
    }
  );
  t.step(function() {
    win = window.open("history_entry.html?urls=history_forward-1.html,traverse_the_history_write_onload_2-1.html");
    t.add_cleanup(function() {win.close()});
  });
</script>
