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

Side by Side Diff: third_party/WebKit/LayoutTests/http/tests/cachestorage/script-tests/cache-keys.js

Issue 2315253002: [CacheStorage] Sort QueryCache results by time entered into cache (Closed)
Patch Set: Address comments from PS5 Created 4 years, 3 months 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/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
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
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
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();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698