blob: 7630b99184362527dc26de42e32238d78dfca094 [file] [log] [blame]
<!doctype html>
<title>Queue a task to fire popstate event</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
t = async_test();
window.onload = t.step_func(function () {
var states = [];
var timer = null;
history.pushState("a", "State a", "/a");
history.pushState("b", "State b", "/b");
history.back();
window.onpopstate = t.step_func(function (e) {
states.push(e.state);
if (states.length === 2) {
check_result();
} else if (timer === null) {
timer = setTimeout(function() {check_result()}, 500);
}
})
check_result = t.step_func(function() {
clearTimeout(timer);
try {
assert_array_equals(states, ["a", null]);
t.done();
} finally {
location.hash = "";
}
});
setTimeout(function() {history.back()}, 0);
});
</script>