| <!DOCTYPE html> |
| <title>keepalive fetches</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script> |
| promise_test(async () => { |
| // Clear |
| let id = Math.random().toString(); |
| let suffixes = Array.from(Array(10).keys()); |
| await Promise.all(suffixes.map((i) => { |
| let filename = `keepalive-fetch-2.${id}.${i}.txt`; |
| return fetch('resources/get-set-temp-file.py?cmd=clear&filename=' + filename); |
| })); |
| // Set |
| let w1 = open('resources/keepalive-fetch-2-window.html#' + id); |
| await new Promise(resolve => w1.onload = resolve); |
| w1.location = '/'; |
| await new Promise(resolve => setTimeout(resolve, 3000)); |
| // Get |
| let texts = await Promise.all(suffixes.map(async (i) => { |
| let filename = `keepalive-fetch-2.${id}.${i}.txt`; |
| let response = await fetch('resources/get-set-temp-file.py?cmd=get&filename=' + filename); |
| return await response.text(); |
| })); |
| // Clear |
| await Promise.all(suffixes.map((i) => { |
| let filename = `keepalive-fetch-2.${id}.${i}.txt`; |
| return fetch('resources/get-set-temp-file.py?cmd=clear&filename=' + filename); |
| })); |
| // Test |
| texts.map((text) => assert_equals(text, id)); |
| }, "keepalive fetches for delayed resources"); |
| </script> |