cache-revalidation.https.html (1323B)
1 <!DOCTYPE html> 2 <meta charset="utf-8"> 3 <title>Tests Stale While Revalidate is not executed for fetch API</title> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script src="/client-hints/resources/export.js"></script> 7 <script src="/common/utils.js"></script> 8 <script> 9 function wait25ms(test) { 10 return new Promise(resolve => { 11 test.step_timeout(() => { 12 resolve(); 13 }, 25); 14 }); 15 } 16 17 promise_test(async (test) => { 18 var request_token = token(); 19 20 const response = await fetch(`/client-hints/resources/stale-echo-client-hints.py?token=` + request_token); 21 const response2 = await fetch(`/client-hints/resources/stale-echo-client-hints.py?token=` + request_token); 22 23 assert_equals(response.headers.get('Unique-Id'), response2.headers.get('Unique-Id')); 24 25 while(true) { 26 const revalidation_check = await fetch(`/client-hints/resources/stale-echo-client-hints.py?query&token=` + request_token); 27 if (revalidation_check.headers.get('Count') == '2') { 28 client_hints_full_list.forEach(header => { 29 assert_equals(revalidation_check.headers.get(header+"-recieved"), revalidation_check.headers.get(header+"-previous")); 30 }); 31 break; 32 } 33 await wait25ms(test); 34 } 35 }, 'Same headers sent for revalidation request'); 36 </script>