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

Side by Side Diff: pkg/http/test/multipart_test.dart

Issue 17090006: Change MatchState to Map. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « pkg/analyzer_experimental/lib/src/generated/java_junit.dart ('k') | pkg/http/test/utils.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
11 import 'package:http/http.dart' as http; 11 import 'package:http/http.dart' as http;
12 import 'package:http/src/utils.dart'; 12 import 'package:http/src/utils.dart';
13 import 'package:pathos/path.dart' as path; 13 import 'package:pathos/path.dart' as path;
14 import 'package:unittest/unittest.dart'; 14 import 'package:unittest/unittest.dart';
15 15
16 import 'utils.dart'; 16 import 'utils.dart';
17 17
18 /// A matcher that validates the body of a multipart request after finalization. 18 /// A matcher that validates the body of a multipart request after finalization.
19 /// The string "{{boundary}}" in [pattern] will be replaced by the boundary 19 /// The string "{{boundary}}" in [pattern] will be replaced by the boundary
20 /// string for the request, and LF newlines will be replaced with CRLF. 20 /// string for the request, and LF newlines will be replaced with CRLF.
21 /// Indentation will be normalized. 21 /// Indentation will be normalized.
22 Matcher bodyMatches(String pattern) => new _BodyMatches(pattern); 22 Matcher bodyMatches(String pattern) => new _BodyMatches(pattern);
23 23
24 class _BodyMatches extends BaseMatcher { 24 class _BodyMatches extends BaseMatcher {
25 final String _pattern; 25 final String _pattern;
26 26
27 _BodyMatches(this._pattern); 27 _BodyMatches(this._pattern);
28 28
29 bool matches(item, MatchState matchState) { 29 bool matches(item, Map matchState) {
30 if (item is! http.MultipartRequest) return false; 30 if (item is! http.MultipartRequest) return false;
31 31
32 var future = item.finalize().toBytes().then((bodyBytes) { 32 var future = item.finalize().toBytes().then((bodyBytes) {
33 var body = decodeUtf8(bodyBytes); 33 var body = decodeUtf8(bodyBytes);
34 var contentType = ContentType.parse(item.headers['content-type']); 34 var contentType = ContentType.parse(item.headers['content-type']);
35 var boundary = contentType.parameters['boundary']; 35 var boundary = contentType.parameters['boundary'];
36 var expected = cleanUpLiteral(_pattern) 36 var expected = cleanUpLiteral(_pattern)
37 .replaceAll("\n", "\r\n") 37 .replaceAll("\n", "\r\n")
38 .replaceAll("{{boundary}}", boundary); 38 .replaceAll("{{boundary}}", boundary);
39 39
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 content-type: application/octet-stream 225 content-type: application/octet-stream
226 content-disposition: form-data; name="file"; filename="test-file" 226 content-disposition: form-data; name="file"; filename="test-file"
227 227
228 hello 228 hello
229 --{{boundary}}-- 229 --{{boundary}}--
230 ''')); 230 '''));
231 }), completes); 231 }), completes);
232 }); 232 });
233 }); 233 });
234 } 234 }
OLDNEW
« no previous file with comments | « pkg/analyzer_experimental/lib/src/generated/java_junit.dart ('k') | pkg/http/test/utils.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698