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

Side by Side Diff: LayoutTests/http/tests/fetch/script-tests/fetch.js

Issue 1295373003: Remove sequential_promise_test helper, just use promise_test (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: remove testharness-helpers.js inclusion from bluetooth tests Created 5 years, 4 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 | Annotate | Revision Log
OLDNEW
1 if (self.importScripts) { 1 if (self.importScripts) {
2 importScripts('../resources/fetch-test-helpers.js'); 2 importScripts('../resources/fetch-test-helpers.js');
3 } 3 }
4 4
5 sequential_promise_test(function(t) { 5 promise_test(function(t) {
6 return fetch('http://') 6 return fetch('http://')
7 .then( 7 .then(
8 t.unreached_func('fetch of invalid URL must fail'), 8 t.unreached_func('fetch of invalid URL must fail'),
9 function() {}); 9 function() {});
10 }, 'Fetch invalid URL'); 10 }, 'Fetch invalid URL');
11 11
12 // https://fetch.spec.whatwg.org/#fetching 12 // https://fetch.spec.whatwg.org/#fetching
13 // Step 4: 13 // Step 4:
14 // request's url's scheme is not one of "http" and "https" 14 // request's url's scheme is not one of "http" and "https"
15 // A network error. 15 // A network error.
16 sequential_promise_test(function(t) { 16 promise_test(function(t) {
17 return fetch('ftp://localhost/') 17 return fetch('ftp://localhost/')
18 .then( 18 .then(
19 t.unreached_func('fetch of non-HTTP(S) CORS must fail'), 19 t.unreached_func('fetch of non-HTTP(S) CORS must fail'),
20 function() {}); 20 function() {});
21 }, 'fetch non-HTTP(S) CORS'); 21 }, 'fetch non-HTTP(S) CORS');
22 22
23 // https://fetch.spec.whatwg.org/#concept-basic-fetch 23 // https://fetch.spec.whatwg.org/#concept-basic-fetch
24 // The last statement: 24 // The last statement:
25 // Otherwise 25 // Otherwise
26 // Return a network error. 26 // Return a network error.
27 sequential_promise_test(function(t) { 27 promise_test(function(t) {
28 return fetch('foobar://localhost/', {mode: 'no-cors'}) 28 return fetch('foobar://localhost/', {mode: 'no-cors'})
29 .then( 29 .then(
30 t.unreached_func('scheme not listed in basic fetch spec must fail'), 30 t.unreached_func('scheme not listed in basic fetch spec must fail'),
31 function() {}); 31 function() {});
32 }, 'fetch of scheme not listed in basic fetch spec'); 32 }, 'fetch of scheme not listed in basic fetch spec');
33 33
34 sequential_promise_test(function(t) { 34 promise_test(function(t) {
35 return fetch('/fetch/resources/fetch-status.php?status=200') 35 return fetch('/fetch/resources/fetch-status.php?status=200')
36 .then(function(response) { 36 .then(function(response) {
37 assert_equals(response.status, 200); 37 assert_equals(response.status, 200);
38 assert_equals(response.statusText, 'OK'); 38 assert_equals(response.statusText, 'OK');
39 }); 39 });
40 }, 'Fetch result of 200 response'); 40 }, 'Fetch result of 200 response');
41 41
42 sequential_promise_test(function(t) { 42 promise_test(function(t) {
43 return fetch('/fetch/resources/fetch-status.php?status=404') 43 return fetch('/fetch/resources/fetch-status.php?status=404')
44 .then(function(response) { 44 .then(function(response) {
45 assert_equals(response.status, 404); 45 assert_equals(response.status, 404);
46 assert_equals(response.statusText, 'Not Found'); 46 assert_equals(response.statusText, 'Not Found');
47 }); 47 });
48 }, 'Fetch result of 404 response'); 48 }, 'Fetch result of 404 response');
49 49
50 sequential_promise_test(function(t) { 50 promise_test(function(t) {
51 var request = new Request( 51 var request = new Request(
52 '/fetch/resources/fetch-status.php?status=200#fragment'); 52 '/fetch/resources/fetch-status.php?status=200#fragment');
53 53
54 // The url attribute's getter must return request's url, 54 // The url attribute's getter must return request's url,
55 // serialized with the exclude fragment flag set. 55 // serialized with the exclude fragment flag set.
56 assert_equals(request.url, 56 assert_equals(request.url,
57 BASE_ORIGIN + '/fetch/resources/fetch-status.php?status=200'); 57 BASE_ORIGIN + '/fetch/resources/fetch-status.php?status=200');
58 assert_equals(request.context, ''); 58 assert_equals(request.context, '');
59 59
60 return fetch(request) 60 return fetch(request)
61 .then(function(response) { 61 .then(function(response) {
62 assert_equals(response.status, 200); 62 assert_equals(response.status, 200);
63 assert_equals(response.statusText, 'OK'); 63 assert_equals(response.statusText, 'OK');
64 // The url attribute's getter must return the empty string 64 // The url attribute's getter must return the empty string
65 // if response's url is null and response's url, 65 // if response's url is null and response's url,
66 // serialized with the exclude fragment flag set, otherwise. 66 // serialized with the exclude fragment flag set, otherwise.
67 assert_equals(response.url, 67 assert_equals(response.url,
68 BASE_ORIGIN + 68 BASE_ORIGIN +
69 '/fetch/resources/fetch-status.php?status=200'); 69 '/fetch/resources/fetch-status.php?status=200');
70 assert_equals(request.context, ''); 70 assert_equals(request.context, '');
71 }); 71 });
72 }, 'Request/response url attribute getter with fragment'); 72 }, 'Request/response url attribute getter with fragment');
73 73
74 sequential_promise_test(function(t) { 74 promise_test(function(t) {
75 var redirect_target_url = 75 var redirect_target_url =
76 BASE_ORIGIN + '/fetch/resources/fetch-status.php?status=200'; 76 BASE_ORIGIN + '/fetch/resources/fetch-status.php?status=200';
77 var redirect_original_url = 77 var redirect_original_url =
78 BASE_ORIGIN + '/serviceworker/resources/redirect.php?Redirect=' + 78 BASE_ORIGIN + '/serviceworker/resources/redirect.php?Redirect=' +
79 redirect_target_url; 79 redirect_target_url;
80 80
81 var request = new Request(redirect_original_url); 81 var request = new Request(redirect_original_url);
82 assert_equals(request.url, redirect_original_url, 82 assert_equals(request.url, redirect_original_url,
83 'Request\'s url is the original URL'); 83 'Request\'s url is the original URL');
84 assert_equals(request.context, ''); 84 assert_equals(request.context, '');
(...skipping 11 matching lines...) Expand all
96 }, 'Request/response url attribute getter with redirect'); 96 }, 'Request/response url attribute getter with redirect');
97 97
98 function evalJsonp(text) { 98 function evalJsonp(text) {
99 return new Promise(function(resolve) { 99 return new Promise(function(resolve) {
100 var report = resolve; 100 var report = resolve;
101 // text must contain report() call. 101 // text must contain report() call.
102 eval(text); 102 eval(text);
103 }); 103 });
104 } 104 }
105 105
106 sequential_promise_test(function(t) { 106 promise_test(function(t) {
107 var request = 107 var request =
108 new Request('/serviceworker/resources/fetch-access-control.php', 108 new Request('/serviceworker/resources/fetch-access-control.php',
109 { 109 {
110 method: 'POST', 110 method: 'POST',
111 body: new Blob(['Test Blob'], {type: 'test/type'}) 111 body: new Blob(['Test Blob'], {type: 'test/type'})
112 }); 112 });
113 assert_equals(request.context, ''); 113 assert_equals(request.context, '');
114 return fetch(request) 114 return fetch(request)
115 .then(function(response) { return response.text(); }) 115 .then(function(response) { return response.text(); })
116 .then(evalJsonp) 116 .then(evalJsonp)
117 .then(function(result) { 117 .then(function(result) {
118 assert_equals(result.method, 'POST'); 118 assert_equals(result.method, 'POST');
119 assert_equals(result.body, 'Test Blob'); 119 assert_equals(result.body, 'Test Blob');
120 assert_equals(request.context, ''); 120 assert_equals(request.context, '');
121 }); 121 });
122 }, 'Fetch with Blob body test'); 122 }, 'Fetch with Blob body test');
123 123
124 sequential_promise_test(function(t) { 124 promise_test(function(t) {
125 var request = new Request( 125 var request = new Request(
126 '/serviceworker/resources/fetch-access-control.php', 126 '/serviceworker/resources/fetch-access-control.php',
127 {method: 'POST', body: 'Test String'}); 127 {method: 'POST', body: 'Test String'});
128 return fetch(request) 128 return fetch(request)
129 .then(function(response) { return response.text(); }) 129 .then(function(response) { return response.text(); })
130 .then(evalJsonp) 130 .then(evalJsonp)
131 .then(function(result) { 131 .then(function(result) {
132 assert_equals(result.method, 'POST'); 132 assert_equals(result.method, 'POST');
133 assert_equals(result.body, 'Test String'); 133 assert_equals(result.body, 'Test String');
134 }); 134 });
135 }, 'Fetch with string body test'); 135 }, 'Fetch with string body test');
136 136
137 sequential_promise_test(function(t) { 137 promise_test(function(t) {
138 var text = 'Test ArrayBuffer'; 138 var text = 'Test ArrayBuffer';
139 var array = new Uint8Array(text.length); 139 var array = new Uint8Array(text.length);
140 for (var i = 0; i < text.length; ++i) 140 for (var i = 0; i < text.length; ++i)
141 array[i] = text.charCodeAt(i); 141 array[i] = text.charCodeAt(i);
142 var request = new Request( 142 var request = new Request(
143 '/serviceworker/resources/fetch-access-control.php', 143 '/serviceworker/resources/fetch-access-control.php',
144 {method: 'POST', body: array.buffer}); 144 {method: 'POST', body: array.buffer});
145 return fetch(request) 145 return fetch(request)
146 .then(function(response) { return response.text(); }) 146 .then(function(response) { return response.text(); })
147 .then(evalJsonp) 147 .then(evalJsonp)
148 .then(function(result) { 148 .then(function(result) {
149 assert_equals(result.method, 'POST'); 149 assert_equals(result.method, 'POST');
150 assert_equals(result.body, 'Test ArrayBuffer'); 150 assert_equals(result.body, 'Test ArrayBuffer');
151 }); 151 });
152 }, 'Fetch with ArrayBuffer body test'); 152 }, 'Fetch with ArrayBuffer body test');
153 153
154 sequential_promise_test(function(t) { 154 promise_test(function(t) {
155 var text = 'Test ArrayBufferView'; 155 var text = 'Test ArrayBufferView';
156 var array = new Uint8Array(text.length); 156 var array = new Uint8Array(text.length);
157 for (var i = 0; i < text.length; ++i) 157 for (var i = 0; i < text.length; ++i)
158 array[i] = text.charCodeAt(i); 158 array[i] = text.charCodeAt(i);
159 var request = new Request( 159 var request = new Request(
160 '/serviceworker/resources/fetch-access-control.php', 160 '/serviceworker/resources/fetch-access-control.php',
161 {method: 'POST', body: array}); 161 {method: 'POST', body: array});
162 return fetch(request) 162 return fetch(request)
163 .then(function(response) { return response.text(); }) 163 .then(function(response) { return response.text(); })
164 .then(evalJsonp) 164 .then(evalJsonp)
165 .then(function(result) { 165 .then(function(result) {
166 assert_equals(result.method, 'POST'); 166 assert_equals(result.method, 'POST');
167 assert_equals(result.body, 'Test ArrayBufferView'); 167 assert_equals(result.body, 'Test ArrayBufferView');
168 }); 168 });
169 }, 'Fetch with ArrayBufferView body test'); 169 }, 'Fetch with ArrayBufferView body test');
170 170
171 sequential_promise_test(function(t) { 171 promise_test(function(t) {
172 var formData = new FormData(); 172 var formData = new FormData();
173 formData.append('StringKey1', '1234567890'); 173 formData.append('StringKey1', '1234567890');
174 formData.append('StringKey2', 'ABCDEFGHIJ'); 174 formData.append('StringKey2', 'ABCDEFGHIJ');
175 formData.append('BlobKey', new Blob(['blob content'])); 175 formData.append('BlobKey', new Blob(['blob content']));
176 formData.append('FileKey', 176 formData.append('FileKey',
177 new File(['file content'], 'file.dat')); 177 new File(['file content'], 'file.dat'));
178 var request = new Request( 178 var request = new Request(
179 '/serviceworker/resources/fetch-access-control.php', 179 '/serviceworker/resources/fetch-access-control.php',
180 {method: 'POST', body: formData}); 180 {method: 'POST', body: formData});
181 return fetch(request) 181 return fetch(request)
182 .then(function(response) { return response.text(); }) 182 .then(function(response) { return response.text(); })
183 .then(evalJsonp) 183 .then(evalJsonp)
184 .then(function(result) { 184 .then(function(result) {
185 assert_equals(result.method, 'POST'); 185 assert_equals(result.method, 'POST');
186 assert_equals(result.post['StringKey1'], '1234567890'); 186 assert_equals(result.post['StringKey1'], '1234567890');
187 assert_equals(result.post['StringKey2'], 'ABCDEFGHIJ'); 187 assert_equals(result.post['StringKey2'], 'ABCDEFGHIJ');
188 var files = []; 188 var files = [];
189 for (var i = 0; i < result.files.length; ++i) { 189 for (var i = 0; i < result.files.length; ++i) {
190 files[result.files[i].key] = result.files[i]; 190 files[result.files[i].key] = result.files[i];
191 } 191 }
192 assert_equals(files['BlobKey'].content, 'blob content'); 192 assert_equals(files['BlobKey'].content, 'blob content');
193 assert_equals(files['BlobKey'].name, 'blob'); 193 assert_equals(files['BlobKey'].name, 'blob');
194 assert_equals(files['BlobKey'].size, 12); 194 assert_equals(files['BlobKey'].size, 12);
195 assert_equals(files['FileKey'].content, 'file content'); 195 assert_equals(files['FileKey'].content, 'file content');
196 assert_equals(files['FileKey'].name, 'file.dat'); 196 assert_equals(files['FileKey'].name, 'file.dat');
197 assert_equals(files['FileKey'].size, 12); 197 assert_equals(files['FileKey'].size, 12);
198 }); 198 });
199 }, 'Fetch with FormData body test'); 199 }, 'Fetch with FormData body test');
200 200
201 sequential_promise_test(function(t) { 201 promise_test(function(t) {
202 return fetch('../resources/fetch-test-helpers.js') 202 return fetch('../resources/fetch-test-helpers.js')
203 .then(function(res) { return res.text(); }) 203 .then(function(res) { return res.text(); })
204 .then(function(text) { assert_not_equals(text, ''); }); 204 .then(function(text) { assert_not_equals(text, ''); });
205 }, 'Fetch a URL already in Blink cache'); 205 }, 'Fetch a URL already in Blink cache');
206 206
207 test(function(t) { 207 test(function(t) {
208 function runInfiniteFetchLoop() { 208 function runInfiniteFetchLoop() {
209 fetch('dummy.html') 209 fetch('dummy.html')
210 .then(function() { runInfiniteFetchLoop(); }); 210 .then(function() { runInfiniteFetchLoop(); });
211 } 211 }
212 runInfiniteFetchLoop(); 212 runInfiniteFetchLoop();
213 }, 213 },
214 'Destroying the execution context while fetch is happening should not ' + 214 'Destroying the execution context while fetch is happening should not ' +
215 'cause a crash.'); 215 'cause a crash.');
216 216
217 done(); 217 done();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698