<!doctype html>
<title>location.assign with initial about:blank browsing context</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<iframe></iframe>
<script>
var t = async_test();
var history_length;
onload = t.step_func(function() {
  setTimeout(t.step_func(function() {
    var iframe = document.getElementsByTagName("iframe")[0];
    iframe.onload = t.step_func(function() {
        setTimeout(t.step_func(function() {
          assert_equals(history.length, history_length);
          t.done();
        }), 100);
    });
    history_length = history.length;
    iframe.src = "location_assign_about_blank-1.html"
  }), 100);
});
</script>

