OLD | NEW |
---|---|
1 var SCOPE = BASE_ORIGIN + | 1 var SCOPE = BASE_ORIGIN + |
2 '/fetch/resources/thorough-iframe.html?' + TEST_OPTIONS; | 2 '/fetch/resources/thorough-iframe.html?' + TEST_OPTIONS; |
3 var IFRAME_ORIGIN = BASE_ORIGIN; | 3 var IFRAME_ORIGIN = BASE_ORIGIN; |
4 var BASE_URL = BASE_ORIGIN + | 4 var BASE_URL = BASE_ORIGIN + |
5 '/serviceworker/resources/fetch-access-control.php?'; | 5 '/serviceworker/resources/fetch-access-control.php?'; |
6 var OTHER_BASE_URL = OTHER_ORIGIN + | 6 var OTHER_BASE_URL = OTHER_ORIGIN + |
7 '/serviceworker/resources/fetch-access-control.php?'; | 7 '/serviceworker/resources/fetch-access-control.php?'; |
8 var BASE_URL_WITH_USERNAME = BASE_URL.replace('://', '://user@'); | 8 var BASE_URL_WITH_USERNAME = BASE_URL.replace('://', '://user@'); |
9 var OTHER_BASE_URL_WITH_USERNAME = OTHER_BASE_URL.replace('://', '://user@'); | 9 var OTHER_BASE_URL_WITH_USERNAME = OTHER_BASE_URL.replace('://', '://user@'); |
10 var BASE_URL_WITH_PASSWORD = BASE_URL.replace('://', '://user:pass@'); | 10 var BASE_URL_WITH_PASSWORD = BASE_URL.replace('://', '://user:pass@'); |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
58 'header check failed url: ' + url + ' name: ' + name); | 58 'header check failed url: ' + url + ' name: ' + name); |
59 }; | 59 }; |
60 var checkFetchResponseType = function(type, url, data) { | 60 var checkFetchResponseType = function(type, url, data) { |
61 assert_equals(data.fetchResult, | 61 assert_equals(data.fetchResult, |
62 'resolved', | 62 'resolved', |
63 'fetchResult must be resolved. url = ' + url); | 63 'fetchResult must be resolved. url = ' + url); |
64 assert_equals(data.type, | 64 assert_equals(data.type, |
65 type, | 65 type, |
66 'type must match. url: ' + url); | 66 'type must match. url: ' + url); |
67 }; | 67 }; |
68 var checkURLList = function(redirectedURLList, url, data) { | |
69 if (!self.internals) | |
70 return; | |
71 var expectedURLList = [url].concat(redirectedURLList); | |
72 assert_equals(data.fetchResult, | |
73 'resolved', | |
74 'fetchResult must be resolved. url = ' + url); | |
75 assert_array_equals(data.urlList, | |
76 expectedURLList, | |
77 url + ' URL list should match'); | |
78 }; | |
68 | 79 |
69 var showComment = function(url, data) { | 80 var showComment = function(url, data) { |
70 assert_true(!data.comment, 'Show comment: ' + data.comment + ' url: ' + url); | 81 assert_true(!data.comment, 'Show comment: ' + data.comment + ' url: ' + url); |
71 } | 82 } |
72 | 83 |
73 var fetchIgnored = checkFetchResult.bind(this, 'ignored'); | 84 var fetchIgnored = checkFetchResult.bind(this, 'ignored'); |
74 var fetchResolved = checkFetchResult.bind(this, 'resolved'); | 85 var fetchResolved = checkFetchResult.bind(this, 'resolved'); |
75 var fetchRejected = checkFetchResult.bind(this, 'rejected'); | 86 var fetchRejected = checkFetchResult.bind(this, 'rejected'); |
76 var fetchError = checkFetchResult.bind(this, 'error'); | 87 var fetchError = checkFetchResult.bind(this, 'error'); |
77 var hasBody = checkFetchResponseBody.bind(this, true); | 88 var hasBody = checkFetchResponseBody.bind(this, true); |
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
347 // Setting a comment will fail the test and show the | 358 // Setting a comment will fail the test and show the |
348 // comment in the result. Use this for debugging | 359 // comment in the result. Use this for debugging |
349 // tests. | 360 // tests. |
350 comment: undefined, | 361 comment: undefined, |
351 | 362 |
352 fetchResult: 'resolved', | 363 fetchResult: 'resolved', |
353 body: body, | 364 body: body, |
354 status: response.status, | 365 status: response.status, |
355 headers: headersToArray(response.headers), | 366 headers: headersToArray(response.headers), |
356 type: response.type, | 367 type: response.type, |
368 urlList: self.internals ? | |
369 self.internals.getInternalResponseURLList(response) : | |
370 [], | |
357 response: response, | 371 response: response, |
358 originalURL: originalURL | 372 originalURL: originalURL |
359 }); | 373 }); |
360 }) | 374 }) |
361 .catch(function(e) { | 375 .catch(function(e) { |
362 return Promise.resolve({fetchResult: 'error'}); | 376 return Promise.resolve({fetchResult: 'error'}); |
363 }); | 377 }); |
364 }) | 378 }) |
365 .catch(function(e) { | 379 .catch(function(e) { |
366 return Promise.resolve({fetchResult: 'rejected'}); | 380 return Promise.resolve({fetchResult: 'rejected'}); |
367 }); | 381 }); |
368 } catch (e) { | 382 } catch (e) { |
369 return Promise.resolve({fetchResult: 'error'}); | 383 return Promise.resolve({fetchResult: 'error'}); |
370 } | 384 } |
371 } | 385 } |
372 | 386 |
373 var report_data = {}; | 387 var report_data = {}; |
374 function report(data) { | 388 function report(data) { |
375 report_data = data; | 389 report_data = data; |
376 } | 390 } |
377 | 391 |
falken
2016/12/09 01:54:15
Can you add documentation about the format of test
horo
2016/12/09 05:04:11
Done.
| |
378 function executeTest(test_target) { | 392 function executeTest(test_target) { |
379 if (test_target.length == 0) { | 393 if (test_target.length == 0) { |
380 return Promise.resolve(); | 394 return Promise.resolve(); |
381 } | 395 } |
382 return doFetch(new Request(test_target[0], | 396 return doFetch(new Request(test_target[0], |
383 {credentials: 'same-origin', mode: 'no-cors'})) | 397 {credentials: 'same-origin', mode: 'no-cors'})) |
384 .then(function(message) { | 398 .then(function(message) { |
385 var checks = test_target[1].concat(showComment); | 399 var checks = test_target[1].concat(showComment); |
386 checks.forEach(function(checkFunc) { | 400 checks.forEach(function(checkFunc) { |
387 checkFunc.call(this, test_target[0], message); | 401 checkFunc.call(this, test_target[0], message); |
(...skipping 19 matching lines...) Expand all Loading... | |
407 | 421 |
408 function executeTests(test_targets) { | 422 function executeTests(test_targets) { |
409 for (var i = 0; i < test_targets.length; ++i) { | 423 for (var i = 0; i < test_targets.length; ++i) { |
410 promise_test( | 424 promise_test( |
411 function(counter, t) { | 425 function(counter, t) { |
412 return executeTest(test_targets[counter]); | 426 return executeTest(test_targets[counter]); |
413 }.bind(this, i), | 427 }.bind(this, i), |
414 "executeTest-" + i); | 428 "executeTest-" + i); |
415 } | 429 } |
416 } | 430 } |
OLD | NEW |