Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 importScripts('worker-test-harness.js'); | 1 importScripts('worker-test-harness.js'); |
| 2 importScripts('test-helpers.js'); | |
| 2 | 3 |
| 3 var URL = 'https://www.example.com/test.html'; | 4 var URL = 'https://www.example.com/test.html'; |
| 4 | 5 |
| 5 test(function() { | 6 test(function() { |
| 6 var headers = new Headers; | 7 var headers = new Headers; |
| 7 headers.set('User-Agent', 'Mozilla/5.0'); | 8 headers.set('User-Agent', 'Mozilla/5.0'); |
| 8 headers.set('Accept', 'text/html'); | 9 headers.set('Accept', 'text/html'); |
| 9 headers.set('X-ServiceWorker-Test', 'request test field'); | 10 headers.set('X-ServiceWorker-Test', 'request test field'); |
| 10 | 11 |
| 11 var request = new Request(URL, {method: 'GET', headers: headers}); | 12 var request = new Request(URL, {method: 'GET', headers: headers}); |
| (...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 275 }); | 276 }); |
| 276 | 277 |
| 277 ['PATCH', 'MKCOL', 'CUSTOM', 'X-FILES'].forEach(function(method) { | 278 ['PATCH', 'MKCOL', 'CUSTOM', 'X-FILES'].forEach(function(method) { |
| 278 assert_equals(new Request(url, {method: method}).method, method, | 279 assert_equals(new Request(url, {method: method}).method, method, |
| 279 'method should not be changed when normalized: ' + method); | 280 'method should not be changed when normalized: ' + method); |
| 280 method = method.toLowerCase(); | 281 method = method.toLowerCase(); |
| 281 assert_equals(new Request(url, {method: method}).method, method, | 282 assert_equals(new Request(url, {method: method}).method, method, |
| 282 'method should not be changed when normalized: ' + method); | 283 'method should not be changed when normalized: ' + method); |
| 283 }); | 284 }); |
| 284 }, 'Request method names are normalized'); | 285 }, 'Request method names are normalized'); |
| 286 | |
| 287 async_test(function(t) { | |
| 288 var getContentType = function(headers) { | |
| 289 var content_type = ''; | |
| 290 headers.forEach(function(value, key) { | |
| 291 if (key == 'content-type') { | |
| 292 content_type = value; | |
| 293 } | |
| 294 }); | |
| 295 return content_type; | |
| 296 }; | |
| 297 var request = | |
| 298 new Request(URL, | |
| 299 { | |
| 300 method: 'POST', | |
| 301 body: new Blob(['Test Blob'], {type: 'test/type'}) | |
| 302 }); | |
| 303 assert_equals( | |
| 304 getContentType(request.headers), 'test/type', | |
| 305 'ContentType header of Request created with Blob body must be set.'); | |
| 306 request.body.asText() | |
| 307 .then(function(result) { | |
| 308 assert_equals(result, 'Test Blob', | |
| 309 'Creating a Request with Blob body should success.'); | |
|
yhirano
2014/09/01 08:36:30
Please place a blank line between the assertion of
horo
2014/09/01 09:03:17
Done.
| |
| 310 request = new Request(URL, {method: 'POST', body: 'Test String'}); | |
| 311 assert_equals( | |
| 312 getContentType(request.headers), 'text/plain;charset=UTF-8', | |
| 313 'ContentType header of Request created with string must be set.'); | |
| 314 return request.body.asText(); | |
| 315 }) | |
| 316 .then(function(result) { | |
| 317 assert_equals(result, 'Test String', | |
| 318 'Creating a Request with string body should success.'); | |
| 319 var text = "Test ArrayBuffer"; | |
| 320 var array = new Uint8Array(text.length); | |
| 321 for (var i = 0; i < text.length; ++i) | |
| 322 array[i] = text.charCodeAt(i); | |
| 323 request = new Request(URL, {method: 'POST', body: array.buffer}); | |
| 324 return request.body.asText(); | |
| 325 }) | |
| 326 .then(function(result) { | |
| 327 assert_equals( | |
| 328 result, 'Test ArrayBuffer', | |
| 329 'Creating a Request with ArrayBuffer body should success.'); | |
| 330 var text = "Test ArrayBufferView"; | |
| 331 var array = new Uint8Array(text.length); | |
| 332 for (var i = 0; i < text.length; ++i) | |
| 333 array[i] = text.charCodeAt(i); | |
| 334 request = new Request(URL, {method: 'POST', body: array}); | |
| 335 return request.body.asText(); | |
| 336 }) | |
| 337 .then(function(result) { | |
| 338 assert_equals( | |
| 339 result, 'Test ArrayBufferView', | |
| 340 'Creating a Request with ArrayBuffer body should success.'); | |
| 341 var formData = new FormData(); | |
| 342 formData.append('sample string', '1234567890'); | |
| 343 formData.append('sample blob', new Blob(['blob content'])); | |
| 344 formData.append('sample file', | |
| 345 new File(['file content'], 'file.dat')); | |
| 346 request = new Request(URL, {method: 'POST', body: formData}); | |
| 347 return request.body.asText(); | |
| 348 }) | |
| 349 .then(function(result) { | |
| 350 var reg = new RegExp('multipart\/form-data; boundary=(.*)'); | |
| 351 var regResult = reg.exec(getContentType(request.headers)); | |
| 352 var boundary = regResult[1]; | |
| 353 var expected_body = | |
| 354 '--' + boundary + '\r\n' + | |
| 355 'Content-Disposition: form-data; name="sample string"\r\n' + | |
| 356 '\r\n' + | |
| 357 '1234567890\r\n' + | |
| 358 '--' + boundary + '\r\n' + | |
| 359 'Content-Disposition: form-data; name="sample blob"; ' + | |
| 360 'filename="blob"\r\n' + | |
| 361 'Content-Type: application/octet-stream\r\n' + | |
| 362 '\r\n' + | |
| 363 'blob content\r\n' + | |
| 364 '--' + boundary + '\r\n' + | |
| 365 'Content-Disposition: form-data; name="sample file"; ' + | |
| 366 'filename="file.dat"\r\n' + | |
| 367 'Content-Type: application/octet-stream\r\n' + | |
| 368 '\r\n' + | |
| 369 'file content\r\n' + | |
| 370 '--' + boundary + '--\r\n'; | |
| 371 assert_equals( | |
| 372 result, expected_body, | |
| 373 'Creating a Request with FormData body should success.'); | |
| 374 }) | |
| 375 .then(function() { | |
| 376 t.done(); | |
| 377 }) | |
| 378 .catch(unreached_rejection(t)); | |
| 379 }, 'Request body test in ServiceWorkerGlobalScope'); | |
| OLD | NEW |