<!doctype html>
<title>Multiple history traversals, last would be aborted</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
  var t = async_test(undefined, {timeout:5000});
  started = false;
  pages = []
  timer = null;
  start_test_wait = t.step_func(
    function() {
      clearTimeout(timer);
      timer = setTimeout(t.step_func(
        function() {
          try {
            assert_array_equals(pages, [6, 5], "Pages opened during history navigation");
            t.done();
          } finally {
           // win.close();
          }
        }
      ), 500);
    }
  );
  t.step(function() {win = window.open("history_entry.html?urls=history_entry.html,history_entry.html,history_entry.html,history_entry.html,traverse_the_history_4-1.html");
});
</script>
