Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(46)

Side by Side Diff: tests/html/xhr_test.dart

Issue 2771453003: Format all tests. (Closed)
Patch Set: Format files Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library XHRTest; 5 library XHRTest;
6
6 import 'dart:async'; 7 import 'dart:async';
7 import 'dart:convert'; 8 import 'dart:convert';
8 import 'dart:html'; 9 import 'dart:html';
9 import 'dart:typed_data'; 10 import 'dart:typed_data';
10 import 'package:unittest/html_individual_config.dart'; 11 import 'package:unittest/html_individual_config.dart';
11 import 'package:unittest/unittest.dart'; 12 import 'package:unittest/unittest.dart';
12 13
13 main() { 14 main() {
14 useHtmlIndividualConfiguration(); 15 useHtmlIndividualConfiguration();
15 // Cache blocker is a workaround for: 16 // Cache blocker is a workaround for:
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 } 80 }
80 }, () => xhr.readyState == HttpRequest.DONE)); 81 }, () => xhr.readyState == HttpRequest.DONE));
81 82
82 xhr.onLoadEnd.listen((ProgressEvent e) { 83 xhr.onLoadEnd.listen((ProgressEvent e) {
83 loadEndCalled = true; 84 loadEndCalled = true;
84 }); 85 });
85 xhr.send(); 86 xhr.send();
86 }); 87 });
87 88
88 test('XHR.request No file', () { 89 test('XHR.request No file', () {
89 HttpRequest.request('NonExistingFile').then( 90 HttpRequest.request('NonExistingFile').then((_) {
90 (_) { fail('Request should not have succeeded.'); }, 91 fail('Request should not have succeeded.');
91 onError: expectAsync((error) { 92 }, onError: expectAsync((error) {
92 var xhr = error.target; 93 var xhr = error.target;
93 expect(xhr.readyState, equals(HttpRequest.DONE)); 94 expect(xhr.readyState, equals(HttpRequest.DONE));
94 validate404(xhr); 95 validate404(xhr);
95 })); 96 }));
96 }); 97 });
97 98
98 test('XHR.request file', () { 99 test('XHR.request file', () {
99 HttpRequest.request(url).then(expectAsync((xhr) { 100 HttpRequest.request(url).then(expectAsync((xhr) {
100 expect(xhr.readyState, equals(HttpRequest.DONE)); 101 expect(xhr.readyState, equals(HttpRequest.DONE));
101 validate200Response(xhr); 102 validate200Response(xhr);
102 })); 103 }));
103 }); 104 });
104 105
105 test('XHR.request onProgress', () { 106 test('XHR.request onProgress', () {
106 var progressCalled = false; 107 var progressCalled = false;
107 HttpRequest.request(url, 108 HttpRequest.request(url, onProgress: (_) {
108 onProgress: (_) { 109 progressCalled = true;
109 progressCalled = true; 110 }).then(expectAsync((xhr) {
110 }).then(expectAsync( 111 expect(xhr.readyState, equals(HttpRequest.DONE));
111 (xhr) { 112 expect(progressCalled, HttpRequest.supportsProgressEvent);
112 expect(xhr.readyState, equals(HttpRequest.DONE)); 113 validate200Response(xhr);
113 expect(progressCalled, HttpRequest.supportsProgressEvent); 114 }));
114 validate200Response(xhr);
115 }));
116 }); 115 });
117 116
118 test('XHR.request withCredentials No file', () { 117 test('XHR.request withCredentials No file', () {
119 HttpRequest.request('NonExistingFile', withCredentials: true).then( 118 HttpRequest.request('NonExistingFile', withCredentials: true).then((_) {
120 (_) { fail('Request should not have succeeded.'); }, 119 fail('Request should not have succeeded.');
121 onError: expectAsync((error) { 120 }, onError: expectAsync((error) {
122 var xhr = error.target; 121 var xhr = error.target;
123 expect(xhr.readyState, equals(HttpRequest.DONE)); 122 expect(xhr.readyState, equals(HttpRequest.DONE));
124 validate404(xhr); 123 validate404(xhr);
125 })); 124 }));
126 }); 125 });
127 126
128 test('XHR.request withCredentials file', () { 127 test('XHR.request withCredentials file', () {
129 HttpRequest.request(url, withCredentials: true).then(expectAsync((xhr) { 128 HttpRequest.request(url, withCredentials: true).then(expectAsync((xhr) {
130 expect(xhr.readyState, equals(HttpRequest.DONE)); 129 expect(xhr.readyState, equals(HttpRequest.DONE));
131 validate200Response(xhr); 130 validate200Response(xhr);
132 })); 131 }));
133 }); 132 });
134 133
135 test('XHR.getString file', () { 134 test('XHR.getString file', () {
136 HttpRequest.getString(url).then(expectAsync((str) {})); 135 HttpRequest.getString(url).then(expectAsync((str) {}));
137 }); 136 });
138 137
139 test('XHR.getString No file', () { 138 test('XHR.getString No file', () {
140 HttpRequest.getString('NonExistingFile').then( 139 HttpRequest.getString('NonExistingFile').then((_) {
141 (_) { fail('Succeeded for non-existing file.'); }, 140 fail('Succeeded for non-existing file.');
142 onError: expectAsync((error) { 141 }, onError: expectAsync((error) {
143 validate404(error.target); 142 validate404(error.target);
144 })); 143 }));
145 }); 144 });
146 145
147 test('XHR.request responseType arraybuffer', () { 146 test('XHR.request responseType arraybuffer', () {
148 if (Platform.supportsTypedData) { 147 if (Platform.supportsTypedData) {
149 HttpRequest.request(url, responseType: 'arraybuffer', 148 HttpRequest.request(url, responseType: 'arraybuffer', requestHeaders: {
150 requestHeaders: {'Content-Type': 'text/xml'}).then( 149 'Content-Type': 'text/xml'
151 expectAsync((xhr) { 150 }).then(expectAsync((xhr) {
152 expect(xhr.status, equals(200)); 151 expect(xhr.status, equals(200));
153 var byteBuffer = xhr.response; 152 var byteBuffer = xhr.response;
154 expect(byteBuffer, new isInstanceOf<ByteBuffer>()); 153 expect(byteBuffer, new isInstanceOf<ByteBuffer>());
155 expect(byteBuffer, isNotNull); 154 expect(byteBuffer, isNotNull);
156 })); 155 }));
157 } 156 }
158 }); 157 });
159 158
160 test('overrideMimeType', () { 159 test('overrideMimeType', () {
161 var expectation = 160 var expectation =
162 HttpRequest.supportsOverrideMimeType ? returnsNormally : throws; 161 HttpRequest.supportsOverrideMimeType ? returnsNormally : throws;
163 162
164 expect(() { 163 expect(() {
165 HttpRequest.request(url, mimeType: 'application/binary'); 164 HttpRequest.request(url, mimeType: 'application/binary');
166 }, expectation); 165 }, expectation);
167 }); 166 });
168 167
169 if (Platform.supportsTypedData) { 168 if (Platform.supportsTypedData) {
170 test('xhr upload', () { 169 test('xhr upload', () {
171 var xhr = new HttpRequest(); 170 var xhr = new HttpRequest();
172 var progressCalled = false; 171 var progressCalled = false;
173 xhr.upload.onProgress.listen((e) { 172 xhr.upload.onProgress.listen((e) {
174 progressCalled = true; 173 progressCalled = true;
175 }); 174 });
176 175
177 xhr.open('POST', 176 xhr.open('POST',
178 '${window.location.protocol}//${window.location.host}/echo'); 177 '${window.location.protocol}//${window.location.host}/echo');
179 178
180 // 10MB of payload data w/ a bit of data to make sure it 179 // 10MB of payload data w/ a bit of data to make sure it
181 // doesn't get compressed to nil. 180 // doesn't get compressed to nil.
182 var data = new Uint8List(1 * 1024 * 1024); 181 var data = new Uint8List(1 * 1024 * 1024);
183 for (var i = 0; i < data.length; ++i) { 182 for (var i = 0; i < data.length; ++i) {
184 data[i] = i & 0xFF; 183 data[i] = i & 0xFF;
185 } 184 }
186 xhr.send(new Uint8List.view(data.buffer)); 185 xhr.send(new Uint8List.view(data.buffer));
187 186
188 return xhr.onLoad.first.then((_) { 187 return xhr.onLoad.first.then((_) {
189 expect(progressCalled, isTrue, reason: 'onProgress should be fired'); 188 expect(progressCalled, isTrue, reason: 'onProgress should be fired');
190 }); 189 });
191 }); 190 });
192 } 191 }
193 192
194 test('xhr postFormData', () { 193 test('xhr postFormData', () {
195 var data = { 'name': 'John', 'time': '2 pm' }; 194 var data = {'name': 'John', 'time': '2 pm'};
196 195
197 var parts = []; 196 var parts = [];
198 for (var key in data.keys) { 197 for (var key in data.keys) {
199 parts.add('${Uri.encodeQueryComponent(key)}=' 198 parts.add('${Uri.encodeQueryComponent(key)}='
200 '${Uri.encodeQueryComponent(data[key])}'); 199 '${Uri.encodeQueryComponent(data[key])}');
201 } 200 }
202 var encodedData = parts.join('&'); 201 var encodedData = parts.join('&');
203 202
204 return HttpRequest.postFormData( 203 return HttpRequest
205 '${window.location.protocol}//${window.location.host}/echo', data) 204 .postFormData(
205 '${window.location.protocol}//${window.location.host}/echo', data)
206 .then((xhr) { 206 .then((xhr) {
207 expect(xhr.responseText, encodedData); 207 expect(xhr.responseText, encodedData);
208 }); 208 });
209 }); 209 });
210 }); 210 });
211 211
212 group('xhr_requestBlob', () { 212 group('xhr_requestBlob', () {
213 test('XHR.request responseType blob', () { 213 test('XHR.request responseType blob', () {
214 if (Platform.supportsTypedData) { 214 if (Platform.supportsTypedData) {
215 return HttpRequest.request(url, responseType: 'blob').then( 215 return HttpRequest.request(url, responseType: 'blob').then((xhr) {
216 (xhr) { 216 expect(xhr.status, equals(200));
217 expect(xhr.status, equals(200)); 217 var blob = xhr.response;
218 var blob = xhr.response; 218 expect(blob is Blob, isTrue);
219 expect(blob is Blob, isTrue); 219 expect(blob, isNotNull);
220 expect(blob, isNotNull); 220 });
221 });
222 } 221 }
223 }); 222 });
224 }); 223 });
225 224
226 group('json', () { 225 group('json', () {
227 test('xhr responseType json', () { 226 test('xhr responseType json', () {
228 var url = '${window.location.protocol}//${window.location.host}/echo'; 227 var url = '${window.location.protocol}//${window.location.host}/echo';
229 var data = { 228 var data = {
230 'key': 'value', 229 'key': 'value',
231 'a': 'b', 230 'a': 'b',
232 'one': 2, 231 'one': 2,
233 }; 232 };
234 233
235 HttpRequest.request(url, 234 HttpRequest
236 method: 'POST', 235 .request(url,
237 sendData: JSON.encode(data), 236 method: 'POST', sendData: JSON.encode(data), responseType: 'json')
238 responseType: 'json').then( 237 .then(expectAsync((xhr) {
239 expectAsync((xhr) { 238 expect(xhr.status, equals(200));
240 expect(xhr.status, equals(200)); 239 var json = xhr.response;
241 var json = xhr.response; 240 expect(json, equals(data));
242 expect(json, equals(data)); 241 }));
243 }));
244 }); 242 });
245 }); 243 });
246 244
247 group('headers', () { 245 group('headers', () {
248 test('xhr responseHeaders', () { 246 test('xhr responseHeaders', () {
249 return HttpRequest.request(url).then( 247 return HttpRequest.request(url).then((xhr) {
250 (xhr) { 248 var contentTypeHeader = xhr.responseHeaders['content-type'];
251 var contentTypeHeader = xhr.responseHeaders['content-type']; 249 expect(contentTypeHeader, isNotNull);
252 expect(contentTypeHeader, isNotNull); 250 // Should be like: 'text/plain; charset=utf-8'
253 // Should be like: 'text/plain; charset=utf-8' 251 expect(contentTypeHeader.contains('text/plain'), isTrue);
254 expect(contentTypeHeader.contains('text/plain'), isTrue); 252 expect(contentTypeHeader.contains('charset=utf-8'), isTrue);
255 expect(contentTypeHeader.contains('charset=utf-8'), isTrue); 253 });
256 });
257 }); 254 });
258 }); 255 });
259 } 256 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698