| 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 promise_test(function() { | 5 promise_test(function() { |
| 6 var response = new Response; | 6 var response = new Response; |
| 7 return response.text() | 7 return response.text() |
| 8 .then(function(text) { | 8 .then(function(text) { |
| 9 assert_equals(text, '', | 9 assert_equals(text, '', |
| 10 'response.text() must return an empty string' + | 10 'response.text() must return an empty string' + |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 112 result, expected_body, | 112 result, expected_body, |
| 113 'Creating a Response with FormData body must succeed.'); | 113 'Creating a Response with FormData body must succeed.'); |
| 114 }); | 114 }); |
| 115 }, 'Behavior of Response with FormData content'); | 115 }, 'Behavior of Response with FormData content'); |
| 116 | 116 |
| 117 promise_test(function() { | 117 promise_test(function() { |
| 118 var headers = new Headers; | 118 var headers = new Headers; |
| 119 headers.set('Content-Language', 'ja'); | 119 headers.set('Content-Language', 'ja'); |
| 120 var response = new Response( | 120 var response = new Response( |
| 121 'test string', {method: 'GET', headers: headers}); | 121 'test string', {method: 'GET', headers: headers}); |
| 122 assert_false(response.bodyUsed, | 122 assert_false(response.bodyUsed); |
| 123 'bodyUsed is not set until Response is consumed.'); | |
| 124 var response2 = response.clone(); | 123 var response2 = response.clone(); |
| 124 assert_false(response.bodyUsed, 'bodyUsed is not set by clone().'); |
| 125 assert_false(response2.bodyUsed, 'bodyUsed is not set by clone().'); |
| 125 response.headers.set('Content-Language', 'en'); | 126 response.headers.set('Content-Language', 'en'); |
| 126 var response3; | 127 var response3; |
| 127 assert_false(response2.bodyUsed, | |
| 128 'bodyUsed should be false in clone of non-consumed Response.'); | |
| 129 assert_equals( | 128 assert_equals( |
| 130 response2.headers.get('Content-Language'), 'ja', 'Headers of cloned ' + | 129 response2.headers.get('Content-Language'), 'ja', 'Headers of cloned ' + |
| 131 'response should not change when original response headers are changed.'); | 130 'response should not change when original response headers are changed.'); |
| 132 | 131 |
| 133 return response.text() | 132 var p = response.text(); |
| 134 .then(function(text) { | 133 assert_true(response.bodyUsed, 'bodyUsed should be true when locked.'); |
| 135 assert_true( | 134 assert_false(response2.bodyUsed, |
| 136 response.bodyUsed, | 135 'Cloned bodies should not share bodyUsed.'); |
| 137 'bodyUsed should be true after a response is consumed.'); | 136 assert_throws({name: 'TypeError'}, |
| 138 assert_false( | 137 function() { response3 = response.clone(); }, |
| 139 response2.bodyUsed, 'bodyUsed should be false in Response cloned ' + | 138 'Response.clone() should throw if the body was used.'); |
| 140 'before the original response was consumed.'); | 139 return p.then(function(text) { |
| 141 assert_throws( | 140 assert_false(response.bodyUsed, |
| 142 {name: 'TypeError'}, | 141 'bodyUsed becomes false when text() is done.'); |
| 143 function() { response3 = response.clone(); }, | 142 assert_false(response2.bodyUsed); |
| 144 'Response.clone() should throw if the body was used.'); | 143 response3 = response.clone(); |
| 145 return response2.text(); | 144 return response2.text(); |
| 146 }) | 145 }).then(function(text) { |
| 147 .then(function(text) { | 146 assert_equals(text, 'test string', |
| 148 assert_equals(text, 'test string', | 147 'Response clone response body text should match.'); |
| 149 'Response clone response body text should match.'); | 148 return Promise.all([response.text(), response2.text(), |
| 150 }); | 149 response3.text()]); |
| 150 }).then(function(texts) { |
| 151 assert_equals(texts[0], '', 'Cloned after consumed.'); |
| 152 assert_equals(texts[1], '', 'Already consumed.'); |
| 153 assert_equals(texts[2], '', 'Cloned after consumed.'); |
| 154 }); |
| 151 }, 'Behavior of bodyUsed in Response and clone behavior.'); | 155 }, 'Behavior of bodyUsed in Response and clone behavior.'); |
| 152 | 156 |
| 153 promise_test(function() { | 157 promise_test(function() { |
| 154 var response = new Response(null); | 158 var response = new Response(null); |
| 155 assert_equals( | 159 assert_equals( |
| 156 response.headers.get('Content-Type'), | 160 response.headers.get('Content-Type'), |
| 157 'text/plain;charset=UTF-8', | 161 'text/plain;charset=UTF-8', |
| 158 'A Response constructed with a value coerced to string should have a ' + | 162 'A Response constructed with a value coerced to string should have a ' + |
| 159 'text Content-Type.'); | 163 'text Content-Type.'); |
| 160 return response.text() | 164 return response.text() |
| (...skipping 12 matching lines...) Expand all Loading... |
| 173 'A Response constructed with no body should have no Content-Type.'); | 177 'A Response constructed with no body should have no Content-Type.'); |
| 174 return response.text() | 178 return response.text() |
| 175 .then(function(text) { | 179 .then(function(text) { |
| 176 assert_equals(text, '', | 180 assert_equals(text, '', |
| 177 'Response with no body accessed as text should ' + | 181 'Response with no body accessed as text should ' + |
| 178 'resolve to the empty string.'); | 182 'resolve to the empty string.'); |
| 179 }); | 183 }); |
| 180 }, 'Behavior of Response with no body.'); | 184 }, 'Behavior of Response with no body.'); |
| 181 | 185 |
| 182 done(); | 186 done(); |
| OLD | NEW |