Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Test session history and caching</title>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
<script>
SimpleTest.waitForExplicitFinish();
var win;
var loadCount = 0;
var initialContent;
// The test loads first a page in a new window, then using
// form submission loads another page and then using form submission
// again loads third page. That page triggers history.go(-1).
// The second page is loaded now again and should have the same content
// as it had before.
function test() {
win = window.open("cache_control_max_age_3600.sjs?initial");
window.onmessage = (e) => {
is(e.data, "loaded", "Should get load message 'loaded'");
++loadCount;
if (loadCount == 1) {
win.document.forms[0].submit();
} else if (loadCount == 2) {
initialContent = win.document.body.textContent;
info("The initial content is [" + initialContent + "].");
win.document.forms[0].submit();
} else if (loadCount == 3) {
let newContent = win.document.body.textContent;
info("The new content is [" + newContent + "].");
win.close();
is(initialContent, newContent, "Should have loaded the page from cache.");
SimpleTest.finish();
} else {
ok(false, "Unexpected load count.");
}
}
}
</script>
</head>
<body onload="test()">
<p id="display"></p>
<div id="content" style="display: none"></div>
<pre id="test"></pre>
</body>
</html>