| OLD | NEW |
| 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 sequential_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'); |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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, ''); |
| 85 assert_equals(request.redirect, 'follow'); |
| 85 | 86 |
| 86 return fetch(request) | 87 return fetch(request) |
| 87 .then(function(response) { | 88 .then(function(response) { |
| 88 assert_equals(response.status, 200); | 89 assert_equals(response.status, 200); |
| 89 assert_equals(response.statusText, 'OK'); | 90 assert_equals(response.statusText, 'OK'); |
| 90 assert_equals(response.url, redirect_target_url, | 91 assert_equals(response.url, redirect_target_url, |
| 91 'Response\'s url is locationURL'); | 92 'Response\'s url is locationURL'); |
| 92 assert_equals(request.url, redirect_original_url, | 93 assert_equals(request.url, redirect_original_url, |
| 93 'Request\'s url remains the original URL'); | 94 'Request\'s url remains the original URL'); |
| 94 assert_equals(request.context, ''); | 95 assert_equals(request.context, ''); |
| 95 }); | 96 }); |
| 96 }, 'Request/response url attribute getter with redirect'); | 97 }, 'Request/response url attribute getter with redirect'); |
| 97 | 98 |
| 99 sequential_promise_test(function(t) { |
| 100 var redirect_target_url = |
| 101 BASE_ORIGIN + '/fetch/resources/fetch-status.php?status=200'; |
| 102 var redirect_original_url = |
| 103 BASE_ORIGIN + '/serviceworker/resources/redirect.php?Redirect=' + |
| 104 redirect_target_url; |
| 105 |
| 106 var request = new Request(redirect_original_url, {redirect: 'manual'}); |
| 107 assert_equals(request.url, redirect_original_url, |
| 108 'Request\'s url is the original URL'); |
| 109 assert_equals(request.context, ''); |
| 110 assert_equals(request.redirect, 'manual'); |
| 111 |
| 112 return fetch(request) |
| 113 .then(function(response) { |
| 114 assert_equals(response.status, 0); |
| 115 assert_equals(response.type, 'opaqueredirect'); |
| 116 assert_equals(response.url, ''); |
| 117 }); |
| 118 }, 'Manual redirect fetch returns opaque redirect response'); |
| 119 |
| 120 sequential_promise_test(function(t) { |
| 121 var redirect_target_url = |
| 122 BASE_ORIGIN + '/fetch/resources/fetch-status.php?status=200'; |
| 123 var redirect_original_url = |
| 124 BASE_ORIGIN + '/serviceworker/resources/redirect.php?Redirect=' + |
| 125 redirect_target_url; |
| 126 |
| 127 var request = new Request(redirect_original_url, {redirect: 'error'}); |
| 128 assert_equals(request.url, redirect_original_url, |
| 129 'Request\'s url is the original URL'); |
| 130 assert_equals(request.context, ''); |
| 131 assert_equals(request.redirect, 'error'); |
| 132 |
| 133 return fetch(request) |
| 134 .then( |
| 135 t.unreached_func('Redirect response must cause an error when redirct' + |
| 136 ' mode is error.'), |
| 137 function() {}); |
| 138 }, 'Redirect response must cause an error when redirct mode is error.'); |
| 139 |
| 140 sequential_promise_test(function(test) { |
| 141 var url = BASE_ORIGIN + '/fetch/resources/doctype.html'; |
| 142 return fetch(new Request(url, {redirect: 'manual'})) |
| 143 .then(function(response) { |
| 144 assert_equals(response.status, 200); |
| 145 assert_equals(response.statusText, 'OK'); |
| 146 assert_equals(response.url, url); |
| 147 return response.text(); |
| 148 }) |
| 149 .then(function(text) { assert_equals(text, '<!DOCTYPE html>\n'); }) |
| 150 }, 'No-redirect fetch completes normally even if redirect mode is manual'); |
| 151 |
| 152 sequential_promise_test(function(test) { |
| 153 var url = BASE_ORIGIN + '/fetch/resources/doctype.html'; |
| 154 return fetch(new Request(url, {redirect: 'error'})) |
| 155 .then(function(response) { |
| 156 assert_equals(response.status, 200); |
| 157 assert_equals(response.statusText, 'OK'); |
| 158 assert_equals(response.url, url); |
| 159 return response.text(); |
| 160 }) |
| 161 .then(function(text) { assert_equals(text, '<!DOCTYPE html>\n'); }) |
| 162 }, 'No-redirect fetch completes normally even if redirect mode is error'); |
| 163 |
| 98 function evalJsonp(text) { | 164 function evalJsonp(text) { |
| 99 return new Promise(function(resolve) { | 165 return new Promise(function(resolve) { |
| 100 var report = resolve; | 166 var report = resolve; |
| 101 // text must contain report() call. | 167 // text must contain report() call. |
| 102 eval(text); | 168 eval(text); |
| 103 }); | 169 }); |
| 104 } | 170 } |
| 105 | 171 |
| 106 sequential_promise_test(function(t) { | 172 sequential_promise_test(function(t) { |
| 107 var request = | 173 var request = |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 208 function runInfiniteFetchLoop() { | 274 function runInfiniteFetchLoop() { |
| 209 fetch('dummy.html') | 275 fetch('dummy.html') |
| 210 .then(function() { runInfiniteFetchLoop(); }); | 276 .then(function() { runInfiniteFetchLoop(); }); |
| 211 } | 277 } |
| 212 runInfiniteFetchLoop(); | 278 runInfiniteFetchLoop(); |
| 213 }, | 279 }, |
| 214 'Destroying the execution context while fetch is happening should not ' + | 280 'Destroying the execution context while fetch is happening should not ' + |
| 215 'cause a crash.'); | 281 'cause a crash.'); |
| 216 | 282 |
| 217 done(); | 283 done(); |
| OLD | NEW |