OLD | NEW |
1 if (self.importScripts) { | 1 if (self.importScripts) { |
2 importScripts('/resources/testharness.js'); | 2 importScripts('/resources/testharness.js'); |
3 importScripts('../resources/test-helpers.js'); | 3 importScripts('../resources/test-helpers.js'); |
4 } | 4 } |
5 | 5 |
6 cache_test(cache => { | 6 cache_test(cache => { |
7 return cache.keys() | 7 return cache.keys() |
8 .then(requests => { | 8 .then(requests => { |
9 assert_equals( | 9 assert_equals( |
10 requests.length, 0, | 10 requests.length, 0, |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 .then(function(result) { | 43 .then(function(result) { |
44 assert_request_array_equals( | 44 assert_request_array_equals( |
45 result, [entries.a.request], | 45 result, [entries.a.request], |
46 'Cache.keys should match by Request.'); | 46 'Cache.keys should match by Request.'); |
47 }); | 47 }); |
48 }, 'Cache.keys with new Request'); | 48 }, 'Cache.keys with new Request'); |
49 | 49 |
50 prepopulated_cache_test(simple_entries, function(cache, entries) { | 50 prepopulated_cache_test(simple_entries, function(cache, entries) { |
51 return cache.keys(entries.a.request, {ignoreSearch: true}) | 51 return cache.keys(entries.a.request, {ignoreSearch: true}) |
52 .then(function(result) { | 52 .then(function(result) { |
53 // TODO(zino): Should use assert_request_array_equals() instead of | 53 assert_request_array_equals( |
54 // assert_request_array_equivalent() once keys() returns request | |
55 // keys in key insertion order. Please see http://crbug.com/627821. | |
56 assert_request_array_equivalent( | |
57 result, | 54 result, |
58 [ | 55 [ |
59 entries.a.request, | 56 entries.a.request, |
60 entries.a_with_query.request | 57 entries.a_with_query.request |
61 ], | 58 ], |
62 'Cache.keys with ignoreSearch should ignore the ' + | 59 'Cache.keys with ignoreSearch should ignore the ' + |
63 'search parameters of cached request.'); | 60 'search parameters of cached request.'); |
64 }); | 61 }); |
65 }, | 62 }, |
66 'Cache.keys with ignoreSearch option (request with no search ' + | 63 'Cache.keys with ignoreSearch option (request with no search ' + |
67 'parameters)'); | 64 'parameters)'); |
68 | 65 |
69 prepopulated_cache_test(simple_entries, function(cache, entries) { | 66 prepopulated_cache_test(simple_entries, function(cache, entries) { |
70 return cache.keys(entries.a_with_query.request, {ignoreSearch: true}) | 67 return cache.keys(entries.a_with_query.request, {ignoreSearch: true}) |
71 .then(function(result) { | 68 .then(function(result) { |
72 // TODO(zino): Should use assert_request_array_equals() instead of | 69 assert_request_array_equals( |
73 // assert_request_array_equivalent() if once keys() returns request | |
74 // keys in key insertion order. Please see http://crbug.com/627821. | |
75 assert_request_array_equivalent( | |
76 result, | 70 result, |
77 [ | 71 [ |
78 entries.a.request, | 72 entries.a.request, |
79 entries.a_with_query.request | 73 entries.a_with_query.request |
80 ], | 74 ], |
81 'Cache.keys with ignoreSearch should ignore the ' + | 75 'Cache.keys with ignoreSearch should ignore the ' + |
82 'search parameters of request.'); | 76 'search parameters of request.'); |
83 }); | 77 }); |
84 }, | 78 }, |
85 'Cache.keys with ignoreSearch option (request with search parameters)'); | 79 'Cache.keys with ignoreSearch option (request with search parameters)'); |
86 | 80 |
87 cache_test(function(cache) { | 81 cache_test(function(cache) { |
88 var request = new Request('http://example.com/'); | 82 var request = new Request('http://example.com/'); |
89 var head_request = new Request('http://example.com/', {method: 'HEAD'}); | 83 var head_request = new Request('http://example.com/', {method: 'HEAD'}); |
90 var response = new Response('foo'); | 84 var response = new Response('foo'); |
91 return cache.put(request.clone(), response.clone()) | 85 return cache.put(request.clone(), response.clone()) |
92 .then(function() { | 86 .then(function() { |
93 return cache.keys(head_request.clone()); | 87 return cache.keys(head_request.clone()); |
94 }) | 88 }) |
95 .then(function(result) { | 89 .then(function(result) { |
96 assert_request_array_equals( | 90 assert_request_array_equals( |
97 result, [], | 91 result, [], |
98 'Cache.keys should resolve with an empty array with a ' + | 92 'Cache.keys should resolve with an empty array with a ' + |
99 'mismatched method.'); | 93 'mismatched method.'); |
100 return cache.keys(head_request.clone(), | 94 return cache.keys(head_request.clone(), |
101 {ignoreMethod: true}); | 95 {ignoreMethod: true}); |
102 }) | 96 }) |
103 .then(function(result) { | 97 .then(function(result) { |
104 assert_request_array_equivalent( | 98 assert_request_array_equals( |
105 result, | 99 result, |
106 [ | 100 [ |
107 request, | 101 request, |
108 ], | 102 ], |
109 'Cache.keys with ignoreMethod should ignore the ' + | 103 'Cache.keys with ignoreMethod should ignore the ' + |
110 'method of request.'); | 104 'method of request.'); |
111 }); | 105 }); |
112 }, 'Cache.keys supports ignoreMethod'); | 106 }, 'Cache.keys supports ignoreMethod'); |
113 | 107 |
114 cache_test(function(cache) { | 108 cache_test(function(cache) { |
115 var vary_request = new Request('http://example.com/c', | 109 var vary_request = new Request('http://example.com/c', |
116 {headers: {'Cookies': 'is-for-cookie'}}); | 110 {headers: {'Cookies': 'is-for-cookie'}}); |
117 var vary_response = new Response('', {headers: {'Vary': 'Cookies'}}); | 111 var vary_response = new Response('', {headers: {'Vary': 'Cookies'}}); |
118 var mismatched_vary_request = new Request('http://example.com/c'); | 112 var mismatched_vary_request = new Request('http://example.com/c'); |
119 | 113 |
120 return cache.put(vary_request.clone(), vary_response.clone()) | 114 return cache.put(vary_request.clone(), vary_response.clone()) |
121 .then(function() { | 115 .then(function() { |
122 return cache.keys(mismatched_vary_request.clone()); | 116 return cache.keys(mismatched_vary_request.clone()); |
123 }) | 117 }) |
124 .then(function(result) { | 118 .then(function(result) { |
125 assert_request_array_equals( | 119 assert_request_array_equals( |
126 result, [], | 120 result, [], |
127 'Cache.keys should resolve with an empty array with a ' + | 121 'Cache.keys should resolve with an empty array with a ' + |
128 'mismatched vary.'); | 122 'mismatched vary.'); |
129 return cache.keys(mismatched_vary_request.clone(), | 123 return cache.keys(mismatched_vary_request.clone(), |
130 {ignoreVary: true}); | 124 {ignoreVary: true}); |
131 }) | 125 }) |
132 .then(function(result) { | 126 .then(function(result) { |
133 assert_request_array_equivalent( | 127 assert_request_array_equals( |
134 result, | 128 result, |
135 [ | 129 [ |
136 vary_request, | 130 vary_request, |
137 ], | 131 ], |
138 'Cache.keys with ignoreVary should ignore the ' + | 132 'Cache.keys with ignoreVary should ignore the ' + |
139 'vary of request.'); | 133 'vary of request.'); |
140 }); | 134 }); |
141 }, 'Cache.keys supports ignoreVary'); | 135 }, 'Cache.keys supports ignoreVary'); |
142 | 136 |
143 prepopulated_cache_test(simple_entries, function(cache, entries) { | 137 prepopulated_cache_test(simple_entries, function(cache, entries) { |
(...skipping 14 matching lines...) Expand all Loading... |
158 assert_request_array_equals( | 152 assert_request_array_equals( |
159 result, [], | 153 result, [], |
160 'Cache.keys should treat query as a URL and not ' + | 154 'Cache.keys should treat query as a URL and not ' + |
161 'just a string fragment.'); | 155 'just a string fragment.'); |
162 }); | 156 }); |
163 }, 'Cache.keys with string fragment "http" as query'); | 157 }, 'Cache.keys with string fragment "http" as query'); |
164 | 158 |
165 prepopulated_cache_test(simple_entries, function(cache, entries) { | 159 prepopulated_cache_test(simple_entries, function(cache, entries) { |
166 return cache.keys() | 160 return cache.keys() |
167 .then(function(result) { | 161 .then(function(result) { |
168 // TODO(zino): Should use assert_request_array_equals() instead of | 162 assert_request_array_equals( |
169 // assert_request_array_equivalent() once keys() returns request | |
170 // keys in key insertion order. Please see http://crbug.com/627821. | |
171 assert_request_array_equivalent( | |
172 result, | 163 result, |
173 [ | 164 [ |
174 entries.a.request, | 165 entries.a.request, |
175 entries.b.request, | 166 entries.b.request, |
176 entries.a_with_query.request, | 167 entries.a_with_query.request, |
177 entries.A.request, | 168 entries.A.request, |
178 entries.a_https.request, | 169 entries.a_https.request, |
179 entries.a_org.request, | 170 entries.a_org.request, |
180 entries.cat.request, | 171 entries.cat.request, |
181 entries.catmandu.request, | 172 entries.catmandu.request, |
(...skipping 10 matching lines...) Expand all Loading... |
192 return cache.keys(new Request(entries.cat.request.url, {method: 'HEAD'})) | 183 return cache.keys(new Request(entries.cat.request.url, {method: 'HEAD'})) |
193 .then(function(result) { | 184 .then(function(result) { |
194 assert_request_array_equals( | 185 assert_request_array_equals( |
195 result, [], | 186 result, [], |
196 'Cache.keys should not match HEAD request unless ignoreMethod ' + | 187 'Cache.keys should not match HEAD request unless ignoreMethod ' + |
197 'option is set.'); | 188 'option is set.'); |
198 }); | 189 }); |
199 }, 'Cache.keys with a HEAD Request'); | 190 }, 'Cache.keys with a HEAD Request'); |
200 | 191 |
201 done(); | 192 done(); |
OLD | NEW |