<!-- webkit-test-runner [ enableBackForwardCache=true ] -->
<html>
<script>
window.finish = function()
{
    if (testRunner)
        testRunner.notifyDone();
}

window.log = function(message) {
     document.getElementById("result").innerHTML += message + "<br>";
}

window.failure = function(message) {
    log("FAIL: " + message);
    finish();
}

function test() {
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
        testRunner.setCanOpenWindows();
    }
    log("open page-1");
    window.open("resources/cached-page-1.html");
}
</script>

<body onload="test()">
If WebKit does not assert or crash, you passed.
<div id="result"></div>
</body>
</html>
