<script>
if (window.testRunner) {
    testRunner.waitUntilDone();
    testRunner.dumpAsText();
}

location = "resources/document-with-fragment-url-test.html#foo";

</script>
