| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 http_parser.media_type_test; | 5 library http_parser.media_type_test; |
| 6 | 6 |
| 7 import 'package:http_parser/http_parser.dart'; | 7 import 'package:http_parser/http_parser.dart'; |
| 8 import 'package:test/test.dart'; | 8 import 'package:test/test.dart'; |
| 9 | 9 |
| 10 void main() { | 10 void main() { |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 throwsFormatException); | 63 throwsFormatException); |
| 64 }); | 64 }); |
| 65 | 65 |
| 66 test("parses quoted parameters", () { | 66 test("parses quoted parameters", () { |
| 67 var type = new MediaType.parse( | 67 var type = new MediaType.parse( |
| 68 'text/plain; foo="bar space"; baz="bang\\\\escape"'); | 68 'text/plain; foo="bar space"; baz="bang\\\\escape"'); |
| 69 expect(type.mimeType, equals("text/plain")); | 69 expect(type.mimeType, equals("text/plain")); |
| 70 expect( | 70 expect( |
| 71 type.parameters, equals({"foo": "bar space", "baz": "bang\\escape"})); | 71 type.parameters, equals({"foo": "bar space", "baz": "bang\\escape"})); |
| 72 }); | 72 }); |
| 73 |
| 74 test("lower-cases type and subtype", () { |
| 75 var type = new MediaType.parse('TeXt/pLaIn'); |
| 76 expect(type.type, equals("text")); |
| 77 expect(type.subtype, equals("plain")); |
| 78 expect(type.mimeType, equals("text/plain")); |
| 79 }); |
| 80 |
| 81 test("records parameters as case-insensitive", () { |
| 82 var type = new MediaType.parse('test/plain;FoO=bar;bAz=bang'); |
| 83 expect(type.parameters, equals({ |
| 84 "FoO": "bar", |
| 85 "bAz": "bang" |
| 86 })); |
| 87 expect(type.parameters, containsPair("foo", "bar")); |
| 88 expect(type.parameters, containsPair("baz", "bang")); |
| 89 }); |
| 73 }); | 90 }); |
| 74 | 91 |
| 75 group("change", () { | 92 group("change", () { |
| 76 var type; | 93 var type; |
| 77 setUp(() { | 94 setUp(() { |
| 78 type = new MediaType.parse("text/plain; foo=bar; baz=bang"); | 95 type = new MediaType.parse("text/plain; foo=bar; baz=bang"); |
| 79 }); | 96 }); |
| 80 | 97 |
| 81 test("uses the existing fields by default", () { | 98 test("uses the existing fields by default", () { |
| 82 var newType = type.change(); | 99 var newType = type.change(); |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 145 expect(new MediaType("text", "plain", {"foo": 'bar"\x7Fbaz'}).toString(), | 162 expect(new MediaType("text", "plain", {"foo": 'bar"\x7Fbaz'}).toString(), |
| 146 equals('text/plain; foo="bar\\"\\\x7Fbaz"')); | 163 equals('text/plain; foo="bar\\"\\\x7Fbaz"')); |
| 147 }); | 164 }); |
| 148 | 165 |
| 149 test("serializes multiple parameters", () { | 166 test("serializes multiple parameters", () { |
| 150 expect(new MediaType("text", "plain", {"foo": "bar", "baz": "bang"}) | 167 expect(new MediaType("text", "plain", {"foo": "bar", "baz": "bang"}) |
| 151 .toString(), equals("text/plain; foo=bar; baz=bang")); | 168 .toString(), equals("text/plain; foo=bar; baz=bang")); |
| 152 }); | 169 }); |
| 153 }); | 170 }); |
| 154 } | 171 } |
| OLD | NEW |