blob: 5bfe3a0bbd9cfe706a72080dcde4cc147344ddc7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
// Test that multiple fetch handlers do not confuse the implementation.
self.addEventListener('fetch', function(event) {});
self.addEventListener('fetch', function(event) {
var testcase = new URL(event.request.url).search;
switch (testcase) {
case '?reject':
event.respondWith(Promise.reject());
break;
case '?prevent-default':
event.preventDefault();
break;
case '?prevent-default-and-respond-with':
event.preventDefault();
break;
case '?unused-body':
event.respondWith(new Response('body'));
break;
case '?used-body':
var res = new Response('body');
res.text();
event.respondWith(res);
break;
case '?unused-fetched-body':
event.respondWith(fetch('other.html').then(function(res){
return res;
}));
break;
case '?used-fetched-body':
event.respondWith(fetch('other.html').then(function(res){
res.text();
return res;
}));
break;
case '?throw-exception':
throw('boom');
break;
}
});
self.addEventListener('fetch', function(event) {});
self.addEventListener('fetch', function(event) {
var testcase = new URL(event.request.url).search;
if (testcase == '?prevent-default-and-respond-with')
event.respondWith(new Response('responding!'));
});
self.addEventListener('fetch', function(event) {});
|