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'); | |
falken
2015/08/13 06:42:30
This was hard to parse. Maybe "No-redirect fetch c
horo
2015/08/13 10:46:36
Done.
| |
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'); | |
falken
2015/08/13 06:42:30
same here
horo
2015/08/13 10:46:36
Done.
| |
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 |