OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 multipart_test; | 5 library multipart_test; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 import 'dart:io'; | 8 import 'dart:io'; |
9 import 'dart:utf'; | 9 import 'dart:utf'; |
10 | 10 |
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
206 | 206 |
207 group('in a temp directory', () { | 207 group('in a temp directory', () { |
208 var tempDir; | 208 var tempDir; |
209 setUp(() { | 209 setUp(() { |
210 tempDir = new Directory('').createTempSync(); | 210 tempDir = new Directory('').createTempSync(); |
211 }); | 211 }); |
212 | 212 |
213 tearDown(() => tempDir.deleteSync(recursive: true)); | 213 tearDown(() => tempDir.deleteSync(recursive: true)); |
214 | 214 |
215 test('with a file from disk', () { | 215 test('with a file from disk', () { |
216 expect(new Future.of(() { | 216 expect(new Future.sync(() { |
217 var filePath = path.join(tempDir.path, 'test-file'); | 217 var filePath = path.join(tempDir.path, 'test-file'); |
218 new File(filePath).writeAsStringSync('hello'); | 218 new File(filePath).writeAsStringSync('hello'); |
219 return http.MultipartFile.fromPath('file', filePath); | 219 return http.MultipartFile.fromPath('file', filePath); |
220 }).then((file) { | 220 }).then((file) { |
221 var request = new http.MultipartRequest('POST', dummyUrl); | 221 var request = new http.MultipartRequest('POST', dummyUrl); |
222 request.files.add(file); | 222 request.files.add(file); |
223 | 223 |
224 expect(request, bodyMatches(''' | 224 expect(request, bodyMatches(''' |
225 --{{boundary}} | 225 --{{boundary}} |
226 content-type: application/octet-stream | 226 content-type: application/octet-stream |
227 content-disposition: form-data; name="file"; filename="test-file" | 227 content-disposition: form-data; name="file"; filename="test-file" |
228 | 228 |
229 hello | 229 hello |
230 --{{boundary}}-- | 230 --{{boundary}}-- |
231 ''')); | 231 ''')); |
232 }), completes); | 232 }), completes); |
233 }); | 233 }); |
234 }); | 234 }); |
235 } | 235 } |
OLD | NEW |