mirror of
https://github.com/servo/servo.git
synced 2025-08-11 00:15:32 +01:00
Update web-platform-tests to revision 8a14626934f5748a4ea6210847a02c0d8bbc8560
This commit is contained in:
parent
defc176333
commit
4851e4e2b9
133 changed files with 3076 additions and 304 deletions
|
@ -0,0 +1,63 @@
|
|||
<!DOCTYPE html>
|
||||
<!---
|
||||
Tentative test against:
|
||||
https://github.com/whatwg/fetch/pull/853
|
||||
-->
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Stale Revalidation Requests don't get sent to service worker</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="../../service-workers/service-worker/resources/test-helpers.sub.js"></script>
|
||||
<script src="/common/utils.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
|
||||
// Duplicating this resource to make service worker scoping simpler.
|
||||
async function setupRegistration(t, scope) {
|
||||
const reg = await navigator.serviceWorker.register('sw-intercept.js');
|
||||
await wait_for_state(t, reg.installing, 'activated');
|
||||
add_completion_callback(_ => reg.unregister());
|
||||
return reg;
|
||||
}
|
||||
|
||||
function wait25ms(test) {
|
||||
return new Promise(resolve => {
|
||||
test.step_timeout(() => {
|
||||
resolve();
|
||||
}, 25);
|
||||
});
|
||||
}
|
||||
|
||||
promise_test(async (test) => {
|
||||
var request_token = token();
|
||||
const uri = 'stale-script.py?token=' + request_token;
|
||||
|
||||
await setupRegistration(test, 'stale-script.py');
|
||||
|
||||
var service_worker_count = 0;
|
||||
navigator.serviceWorker.addEventListener('message', function once(event) {
|
||||
if (event.data.endsWith(uri)) {
|
||||
service_worker_count++;
|
||||
}
|
||||
});
|
||||
|
||||
const response = await fetch(uri);
|
||||
const response2 = await fetch(uri);
|
||||
assert_equals(response.headers.get('Unique-Id'), response2.headers.get('Unique-Id'));
|
||||
while(true) {
|
||||
const revalidation_check = await fetch(`stale-script.py?query&token=` + request_token);
|
||||
if (revalidation_check.headers.get('Count') == '2') {
|
||||
// The service worker should not see the revalidation request.
|
||||
assert_equals(service_worker_count, 2);
|
||||
break;
|
||||
}
|
||||
await wait25ms(test);
|
||||
}
|
||||
}, 'Second fetch returns same response');
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
Add table
Add a link
Reference in a new issue