Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(129)

Side by Side Diff: third_party/WebKit/LayoutTests/imported/wpt/service-workers/cache-storage/script-tests/cache-add.js

Issue 2547023002: Import wpt@3c8896ae408c8fd594979da7c99970029e7856a7 (Closed)
Patch Set: Modify TestExpectations or download new baselines for tests. Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 if (self.importScripts) { 1 if (self.importScripts) {
2 importScripts('/resources/testharness.js'); 2 importScripts('/resources/testharness.js');
3 importScripts('../resources/testharness-helpers.js');
4 importScripts('../resources/test-helpers.js'); 3 importScripts('../resources/test-helpers.js');
5 } 4 }
6 5
7 cache_test(function(cache) { 6 cache_test(function(cache, test) {
8 return assert_promise_rejects( 7 return promise_rejects(
8 test,
9 new TypeError(),
9 cache.add(), 10 cache.add(),
10 new TypeError(),
11 'Cache.add should throw a TypeError when no arguments are given.'); 11 'Cache.add should throw a TypeError when no arguments are given.');
12 }, 'Cache.add called with no arguments'); 12 }, 'Cache.add called with no arguments');
13 13
14 cache_test(function(cache) { 14 cache_test(function(cache) {
15 return cache.add('../resources/simple.txt') 15 return cache.add('../resources/simple.txt')
16 .then(function(result) { 16 .then(function(result) {
17 assert_equals(result, undefined, 17 assert_equals(result, undefined,
18 'Cache.add should resolve with undefined on success.'); 18 'Cache.add should resolve with undefined on success.');
19 return cache.match('../resources/simple.txt'); 19 return cache.match('../resources/simple.txt');
20 }) 20 })
21 .then(function(response) { 21 .then(function(response) {
22 assert_class_string(response, 'Response', 22 assert_class_string(response, 'Response',
23 'Cache.add should put a resource in the cache.'); 23 'Cache.add should put a resource in the cache.');
24 return response.text(); 24 return response.text();
25 }) 25 })
26 .then(function(body) { 26 .then(function(body) {
27 assert_equals(body, 'a simple text file\n', 27 assert_equals(body, 'a simple text file\n',
28 'Cache.add should retrieve the correct body.'); 28 'Cache.add should retrieve the correct body.');
29 }); 29 });
30 }, 'Cache.add called with relative URL specified as a string'); 30 }, 'Cache.add called with relative URL specified as a string');
31 31
32 cache_test(function(cache) { 32 cache_test(function(cache, test) {
33 return assert_promise_rejects( 33 return promise_rejects(
34 test,
35 new TypeError(),
34 cache.add('javascript://this-is-not-http-mmkay'), 36 cache.add('javascript://this-is-not-http-mmkay'),
35 new TypeError(),
36 'Cache.add should throw a TypeError for non-HTTP/HTTPS URLs.'); 37 'Cache.add should throw a TypeError for non-HTTP/HTTPS URLs.');
37 }, 'Cache.add called with non-HTTP/HTTPS URL'); 38 }, 'Cache.add called with non-HTTP/HTTPS URL');
38 39
39 cache_test(function(cache) { 40 cache_test(function(cache) {
40 var request = new Request('../resources/simple.txt'); 41 var request = new Request('../resources/simple.txt');
41 return cache.add(request) 42 return cache.add(request)
42 .then(function(result) { 43 .then(function(result) {
43 assert_equals(result, undefined, 44 assert_equals(result, undefined,
44 'Cache.add should resolve with undefined on success.'); 45 'Cache.add should resolve with undefined on success.');
45 }); 46 });
46 }, 'Cache.add called with Request object'); 47 }, 'Cache.add called with Request object');
47 48
48 cache_test(function(cache) { 49 cache_test(function(cache, test) {
49 var request = new Request('../resources/simple.txt', 50 var request = new Request('../resources/simple.txt',
50 {method: 'POST', body: 'This is a body.'}); 51 {method: 'POST', body: 'This is a body.'});
51 return assert_promise_rejects( 52 return promise_rejects(
53 test,
54 new TypeError(),
52 cache.add(request), 55 cache.add(request),
53 new TypeError(),
54 'Cache.add should throw a TypeError for non-GET requests.'); 56 'Cache.add should throw a TypeError for non-GET requests.');
55 }, 'Cache.add called with POST request'); 57 }, 'Cache.add called with POST request');
56 58
57 cache_test(function(cache) { 59 cache_test(function(cache) {
58 var request = new Request('../resources/simple.txt'); 60 var request = new Request('../resources/simple.txt');
59 return cache.add(request) 61 return cache.add(request)
60 .then(function(result) { 62 .then(function(result) {
61 assert_equals(result, undefined, 63 assert_equals(result, undefined,
62 'Cache.add should resolve with undefined on success.'); 64 'Cache.add should resolve with undefined on success.');
63 }) 65 })
(...skipping 10 matching lines...) Expand all
74 var request = new Request('../resources/simple.txt'); 76 var request = new Request('../resources/simple.txt');
75 return request.text() 77 return request.text()
76 .then(function() { 78 .then(function() {
77 assert_false(request.bodyUsed); 79 assert_false(request.bodyUsed);
78 }) 80 })
79 .then(function() { 81 .then(function() {
80 return cache.add(request); 82 return cache.add(request);
81 }); 83 });
82 }, 'Cache.add with request with null body (not consumed)'); 84 }, 'Cache.add with request with null body (not consumed)');
83 85
84 cache_test(function(cache) { 86 cache_test(function(cache, test) {
85 return assert_promise_rejects( 87 return promise_rejects(
88 test,
89 new TypeError(),
86 cache.add('this-does-not-exist-please-dont-create-it'), 90 cache.add('this-does-not-exist-please-dont-create-it'),
87 new TypeError(),
88 'Cache.add should reject if response is !ok'); 91 'Cache.add should reject if response is !ok');
89 }, 'Cache.add with request that results in a status of 404'); 92 }, 'Cache.add with request that results in a status of 404');
90 93
91 cache_test(function(cache) { 94 cache_test(function(cache, test) {
92 return assert_promise_rejects( 95 return promise_rejects(
96 test,
97 new TypeError(),
93 cache.add('../resources/fetch-status.php?status=500'), 98 cache.add('../resources/fetch-status.php?status=500'),
94 new TypeError(),
95 'Cache.add should reject if response is !ok'); 99 'Cache.add should reject if response is !ok');
96 }, 'Cache.add with request that results in a status of 500'); 100 }, 'Cache.add with request that results in a status of 500');
97 101
98 cache_test(function(cache) { 102 cache_test(function(cache, test) {
99 return assert_promise_rejects( 103 return promise_rejects(
104 test,
105 new TypeError(),
100 cache.addAll(), 106 cache.addAll(),
101 new TypeError(),
102 'Cache.addAll with no arguments should throw TypeError.'); 107 'Cache.addAll with no arguments should throw TypeError.');
103 }, 'Cache.addAll with no arguments'); 108 }, 'Cache.addAll with no arguments');
104 109
105 cache_test(function(cache) { 110 cache_test(function(cache, test) {
106 // Assumes the existence of ../resources/simple.txt and ../resources/blank.h tml 111 // Assumes the existence of ../resources/simple.txt and ../resources/blank.h tml
107 var urls = ['../resources/simple.txt', undefined, '../resources/blank.html'] ; 112 var urls = ['../resources/simple.txt', undefined, '../resources/blank.html'] ;
108 return assert_promise_rejects( 113 return promise_rejects(
114 test,
115 new TypeError(),
109 cache.addAll(), 116 cache.addAll(),
110 new TypeError(),
111 'Cache.addAll should throw TypeError for an undefined argument.'); 117 'Cache.addAll should throw TypeError for an undefined argument.');
112 }, 'Cache.addAll with a mix of valid and undefined arguments'); 118 }, 'Cache.addAll with a mix of valid and undefined arguments');
113 119
114 cache_test(function(cache) { 120 cache_test(function(cache) {
115 return cache.addAll([]) 121 return cache.addAll([])
116 .then(function(result) { 122 .then(function(result) {
117 assert_equals(result, undefined, 123 assert_equals(result, undefined,
118 'Cache.addAll should resolve with undefined on ' + 124 'Cache.addAll should resolve with undefined on ' +
119 'success.'); 125 'success.');
120 return cache.keys(); 126 return cache.keys();
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 .then(function(bodies) { 201 .then(function(bodies) {
196 assert_equals( 202 assert_equals(
197 bodies[0], 'a simple text file\n', 203 bodies[0], 'a simple text file\n',
198 'Cache.add should retrieve the correct body.'); 204 'Cache.add should retrieve the correct body.');
199 assert_equals( 205 assert_equals(
200 bodies[2], '<!DOCTYPE html>\n<title>Empty doc</title>\n', 206 bodies[2], '<!DOCTYPE html>\n<title>Empty doc</title>\n',
201 'Cache.add should retrieve the correct body.'); 207 'Cache.add should retrieve the correct body.');
202 }); 208 });
203 }, 'Cache.addAll with Request arguments'); 209 }, 'Cache.addAll with Request arguments');
204 210
205 cache_test(function(cache) { 211 cache_test(function(cache, test) {
206 // Assumes that ../resources/simple.txt and ../resources/blank.html exist. 212 // Assumes that ../resources/simple.txt and ../resources/blank.html exist.
207 // The second resource does not. 213 // The second resource does not.
208 var urls = ['../resources/simple.txt', 214 var urls = ['../resources/simple.txt',
209 'this-resource-should-not-exist', 215 'this-resource-should-not-exist',
210 '../resources/blank.html']; 216 '../resources/blank.html'];
211 var requests = urls.map(function(url) { 217 var requests = urls.map(function(url) {
212 return new Request(url); 218 return new Request(url);
213 }); 219 });
214 return assert_promise_rejects( 220 return promise_rejects(
221 test,
222 new TypeError(),
215 cache.addAll(requests), 223 cache.addAll(requests),
216 new TypeError(),
217 'Cache.addAll should reject with TypeError if any request fails') 224 'Cache.addAll should reject with TypeError if any request fails')
218 .then(function() { 225 .then(function() {
219 return Promise.all(urls.map(function(url) { return cache.match(url); } )); 226 return Promise.all(urls.map(function(url) {
227 return cache.match(url);
228 }));
220 }) 229 })
221 .then(function(matches) { 230 .then(function(matches) {
222 assert_array_equals( 231 assert_array_equals(
223 matches, 232 matches,
224 [undefined, undefined, undefined], 233 [undefined, undefined, undefined],
225 'If any response fails, no response should be added to cache'); 234 'If any response fails, no response should be added to cache');
226 }); 235 });
227 }, 'Cache.addAll with a mix of succeeding and failing requests'); 236 }, 'Cache.addAll with a mix of succeeding and failing requests');
228 237
229 cache_test(function(cache) { 238 cache_test(function(cache, test) {
230 var request = new Request('../resources/simple.txt'); 239 var request = new Request('../resources/simple.txt');
231 return assert_promise_rejects( 240 return promise_rejects(
241 test,
242 'InvalidStateError',
232 cache.addAll([request, request]), 243 cache.addAll([request, request]),
233 'InvalidStateError',
234 'Cache.addAll should throw InvalidStateError if the same request is added ' + 244 'Cache.addAll should throw InvalidStateError if the same request is added ' +
235 'twice.'); 245 'twice.');
236 }, 'Cache.addAll called with the same Request object specified twice'); 246 }, 'Cache.addAll called with the same Request object specified twice');
237 247
238 done(); 248 done();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698