46 lines
1.1 KiB
HTML
46 lines
1.1 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../../resources/js-test-pre.js"></script>
|
|
</head/>
|
|
<body>
|
|
<script>
|
|
description("Check that PopStateEvent.state always has a correct value.");
|
|
|
|
window.jsTestIsAsync = true;
|
|
if (window.testRunner) {
|
|
testRunner.clearBackForwardList();
|
|
testRunner.waitUntilDone();
|
|
}
|
|
|
|
shouldBeDefined("history.state");
|
|
|
|
debug("Push state 1");
|
|
history.pushState(1, "", "");
|
|
debug("Push state 2");
|
|
history.pushState(2, "", "");
|
|
shouldEvaluateTo("history.state", 2);
|
|
|
|
var popStateEvent;
|
|
window.onpopstate = function(e) {
|
|
popStateEvent = e;
|
|
shouldEvaluateTo("popStateEvent.state", 1);
|
|
shouldEvaluateTo("history.state", 1);
|
|
|
|
debug("Push state 3");
|
|
history.pushState(3, "", "");
|
|
shouldEvaluateTo("popStateEvent.state", 1);
|
|
shouldEvaluateTo("history.state", 3);
|
|
|
|
var s = document.createElement("script");
|
|
s.src = "../../../resources/js-test-post.js";
|
|
document.body.appendChild(s);
|
|
setTimeout(finishJSTest, 0);
|
|
}
|
|
|
|
debug("Go back");
|
|
history.back();
|
|
</script>
|
|
</body>
|
|
</html>
|