OLD | NEW |
1 if (self.importScripts) { | 1 if (self.importScripts) { |
2 importScripts('/resources/testharness.js'); | 2 importScripts('/resources/testharness.js'); |
3 importScripts('/resources/testharness-helpers.js'); | 3 importScripts('/resources/testharness-helpers.js'); |
4 importScripts('../resources/test-helpers.js'); | 4 importScripts('../resources/test-helpers.js'); |
5 } | 5 } |
6 | 6 |
7 var test_url = 'https://example.com/foo'; | 7 var test_url = 'https://example.com/foo'; |
8 var test_body = 'Hello world!'; | 8 var test_body = 'Hello world!'; |
9 | 9 |
10 cache_test(function(cache) { | 10 cache_test(function(cache) { |
(...skipping 12 matching lines...) Expand all Loading... |
23 var response; | 23 var response; |
24 return fetch(test_url) | 24 return fetch(test_url) |
25 .then(function(fetch_result) { | 25 .then(function(fetch_result) { |
26 response = fetch_result.clone(); | 26 response = fetch_result.clone(); |
27 return cache.put(request, fetch_result); | 27 return cache.put(request, fetch_result); |
28 }) | 28 }) |
29 .then(function() { | 29 .then(function() { |
30 return cache.match(test_url); | 30 return cache.match(test_url); |
31 }) | 31 }) |
32 .then(function(result) { | 32 .then(function(result) { |
33 assert_object_equals_fixed(result, response, | 33 assert_response_equals(result, response, |
34 'Cache.put should update the cache with ' + | 34 'Cache.put should update the cache with ' + |
35 'new request and response.'); | 35 'new request and response.'); |
36 return result.text(); | 36 return result.text(); |
37 }) | 37 }) |
38 .then(function(body) { | 38 .then(function(body) { |
39 assert_equals(body, 'a simple text file\n', | 39 assert_equals(body, 'a simple text file\n', |
40 'Cache.put should store response body.'); | 40 'Cache.put should store response body.'); |
41 }); | 41 }); |
42 }, 'Cache.put called with Request and Response from fetch()'); | 42 }, 'Cache.put called with Request and Response from fetch()'); |
43 | 43 |
44 cache_test(function(cache) { | 44 cache_test(function(cache) { |
45 var request = new Request(test_url); | 45 var request = new Request(test_url); |
(...skipping 22 matching lines...) Expand all Loading... |
68 }, 'Cache.put with Response without a body'); | 68 }, 'Cache.put with Response without a body'); |
69 | 69 |
70 cache_test(function(cache) { | 70 cache_test(function(cache) { |
71 var request = new Request(test_url); | 71 var request = new Request(test_url); |
72 var response = new Response(test_body); | 72 var response = new Response(test_body); |
73 return cache.put(request, response.clone()) | 73 return cache.put(request, response.clone()) |
74 .then(function() { | 74 .then(function() { |
75 return cache.match(test_url); | 75 return cache.match(test_url); |
76 }) | 76 }) |
77 .then(function(result) { | 77 .then(function(result) { |
78 assert_object_equals_fixed(result, response, | 78 assert_response_equals(result, response, |
79 'Cache.put should update the cache with ' + | 79 'Cache.put should update the cache with ' + |
80 'new Request and Response.'); | 80 'new Request and Response.'); |
81 }); | 81 }); |
82 }, 'Cache.put with a Response containing an empty URL'); | 82 }, 'Cache.put with a Response containing an empty URL'); |
83 | 83 |
84 cache_test(function(cache) { | 84 cache_test(function(cache) { |
85 var request = new Request(test_url); | 85 var request = new Request(test_url); |
86 var response = new Response('', { | 86 var response = new Response('', { |
87 status: 200, | 87 status: 200, |
88 headers: [['Content-Type', 'text/plain']] | 88 headers: [['Content-Type', 'text/plain']] |
89 }); | 89 }); |
90 return cache.put(request, response) | 90 return cache.put(request, response) |
(...skipping 20 matching lines...) Expand all Loading... |
111 .then(function(fetch_result) { | 111 .then(function(fetch_result) { |
112 assert_equals(fetch_result.status, 500, | 112 assert_equals(fetch_result.status, 500, |
113 'Test framework error: The status code should be 500.'); | 113 'Test framework error: The status code should be 500.'); |
114 response = fetch_result.clone(); | 114 response = fetch_result.clone(); |
115 return cache.put(request, fetch_result); | 115 return cache.put(request, fetch_result); |
116 }) | 116 }) |
117 .then(function() { | 117 .then(function() { |
118 return cache.match(test_url); | 118 return cache.match(test_url); |
119 }) | 119 }) |
120 .then(function(result) { | 120 .then(function(result) { |
121 assert_object_equals_fixed(result, response, | 121 assert_response_equals(result, response, |
122 'Cache.put should update the cache with ' + | 122 'Cache.put should update the cache with ' + |
123 'new request and response.'); | 123 'new request and response.'); |
124 return result.text(); | 124 return result.text(); |
125 }) | 125 }) |
126 .then(function(body) { | 126 .then(function(body) { |
127 assert_equals(body, '', | 127 assert_equals(body, '', |
128 'Cache.put should store response body.'); | 128 'Cache.put should store response body.'); |
129 }); | 129 }); |
130 }, 'Cache.put with HTTP 500 response'); | 130 }, 'Cache.put with HTTP 500 response'); |
131 | 131 |
132 cache_test(function(cache) { | 132 cache_test(function(cache) { |
133 var alternate_response_body = 'New body'; | 133 var alternate_response_body = 'New body'; |
134 var alternate_response = new Response(alternate_response_body, | 134 var alternate_response = new Response(alternate_response_body, |
135 { statusText: 'New status' }); | 135 { statusText: 'New status' }); |
136 return cache.put(new Request(test_url), | 136 return cache.put(new Request(test_url), |
137 new Response('Old body', { statusText: 'Old status' })) | 137 new Response('Old body', { statusText: 'Old status' })) |
138 .then(function() { | 138 .then(function() { |
139 return cache.put(new Request(test_url), alternate_response.clone()); | 139 return cache.put(new Request(test_url), alternate_response.clone()); |
140 }) | 140 }) |
141 .then(function() { | 141 .then(function() { |
142 return cache.match(test_url); | 142 return cache.match(test_url); |
143 }) | 143 }) |
144 .then(function(result) { | 144 .then(function(result) { |
145 assert_object_equals_fixed(result, alternate_response, | 145 assert_response_equals(result, alternate_response, |
146 'Cache.put should replace existing ' + | 146 'Cache.put should replace existing ' + |
147 'response with new response.'); | 147 'response with new response.'); |
148 return result.text(); | 148 return result.text(); |
149 }) | 149 }) |
150 .then(function(body) { | 150 .then(function(body) { |
151 assert_equals(body, alternate_response_body, | 151 assert_equals(body, alternate_response_body, |
152 'Cache put should store new response body.'); | 152 'Cache put should store new response body.'); |
153 }); | 153 }); |
154 }, 'Cache.put called twice with matching Requests and different Responses'); | 154 }, 'Cache.put called twice with matching Requests and different Responses'); |
155 | 155 |
156 cache_test(function(cache) { | 156 cache_test(function(cache) { |
157 var first_url = test_url; | 157 var first_url = test_url; |
158 var second_url = first_url + '#(O_o)'; | 158 var second_url = first_url + '#(O_o)'; |
159 var alternate_response_body = 'New body'; | 159 var alternate_response_body = 'New body'; |
160 var alternate_response = new Response(alternate_response_body, | 160 var alternate_response = new Response(alternate_response_body, |
161 { statusText: 'New status' }); | 161 { statusText: 'New status' }); |
162 return cache.put(new Request(first_url), | 162 return cache.put(new Request(first_url), |
163 new Response('Old body', { statusText: 'Old status' })) | 163 new Response('Old body', { statusText: 'Old status' })) |
164 .then(function() { | 164 .then(function() { |
165 return cache.put(new Request(second_url), alternate_response.clone()); | 165 return cache.put(new Request(second_url), alternate_response.clone()); |
166 }) | 166 }) |
167 .then(function() { | 167 .then(function() { |
168 return cache.match(test_url); | 168 return cache.match(test_url); |
169 }) | 169 }) |
170 .then(function(result) { | 170 .then(function(result) { |
171 assert_object_equals_fixed(result, alternate_response, | 171 assert_response_equals(result, alternate_response, |
172 'Cache.put should replace existing ' + | 172 'Cache.put should replace existing ' + |
173 'response with new response.'); | 173 'response with new response.'); |
174 return result.text(); | 174 return result.text(); |
175 }) | 175 }) |
176 .then(function(body) { | 176 .then(function(body) { |
177 assert_equals(body, alternate_response_body, | 177 assert_equals(body, alternate_response_body, |
178 'Cache put should store new response body.'); | 178 'Cache put should store new response body.'); |
179 }); | 179 }); |
180 }, 'Cache.put called twice with request URLs that differ only by a fragment'); | 180 }, 'Cache.put called twice with request URLs that differ only by a fragment'); |
181 | 181 |
182 cache_test(function(cache) { | 182 cache_test(function(cache) { |
183 var entries = { | 183 var entries = { |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
241 'Cache.put should reject non-HTTP/HTTPS requests with a TypeError.'); | 241 'Cache.put should reject non-HTTP/HTTPS requests with a TypeError.'); |
242 }, 'Cache.put with a non-HTTP/HTTPS request'); | 242 }, 'Cache.put with a non-HTTP/HTTPS request'); |
243 | 243 |
244 cache_test(function(cache) { | 244 cache_test(function(cache) { |
245 var response = new Response(test_body); | 245 var response = new Response(test_body); |
246 return cache.put(new Request('relative-url'), response.clone()) | 246 return cache.put(new Request('relative-url'), response.clone()) |
247 .then(function() { | 247 .then(function() { |
248 return cache.match(new URL('relative-url', location.href).href); | 248 return cache.match(new URL('relative-url', location.href).href); |
249 }) | 249 }) |
250 .then(function(result) { | 250 .then(function(result) { |
251 assert_object_equals_fixed(result, response, | 251 assert_response_equals(result, response, |
252 'Cache.put should accept a relative URL ' + | 252 'Cache.put should accept a relative URL ' + |
253 'as the request.'); | 253 'as the request.'); |
254 }); | 254 }); |
255 }, 'Cache.put with a relative URL'); | 255 }, 'Cache.put with a relative URL'); |
256 | 256 |
257 cache_test(function(cache) { | 257 cache_test(function(cache) { |
258 var request = new Request('http://example.com/foo', { method: 'HEAD' }); | 258 var request = new Request('http://example.com/foo', { method: 'HEAD' }); |
259 return assert_promise_rejects( | 259 return assert_promise_rejects( |
260 cache.put(request, new Response(test_body)), | 260 cache.put(request, new Response(test_body)), |
261 new TypeError(), | 261 new TypeError(), |
262 'Cache.put should throw a TypeError for non-GET requests.'); | 262 'Cache.put should throw a TypeError for non-GET requests.'); |
263 }, 'Cache.put with a non-GET request'); | 263 }, 'Cache.put with a non-GET request'); |
(...skipping 29 matching lines...) Expand all Loading... |
293 | 293 |
294 cache_test(function(cache) { | 294 cache_test(function(cache) { |
295 var response = new Response(test_body); | 295 var response = new Response(test_body); |
296 return cache.put(new Request(test_url), response) | 296 return cache.put(new Request(test_url), response) |
297 .then(function() { | 297 .then(function() { |
298 return response.body.getReader().closed; | 298 return response.body.getReader().closed; |
299 }); | 299 }); |
300 }, 'getReader() after Cache.put'); | 300 }, 'getReader() after Cache.put'); |
301 | 301 |
302 done(); | 302 done(); |
OLD | NEW |