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

async function doTest()
{
    const response = await fetch("../beacon/resources/redirect.py?status=302&location=/");
    await response.text();
    testRunner.notifyDone();
}
</script>
<body onload="doTest();">
</body>
</html>
