OLD | NEW |
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 utf8_test; | 5 library utf8_test; |
| 6 |
6 import "package:expect/expect.dart"; | 7 import "package:expect/expect.dart"; |
7 import 'dart:convert'; | 8 import 'dart:convert'; |
8 | 9 |
9 main() { | 10 main() { |
10 // Test that UTF8-decoder removes leading BOM. | 11 // Test that UTF8-decoder removes leading BOM. |
11 Expect.equals("a", UTF8.decode([0xEF, 0xBB, 0xBF, 0x61])); | 12 Expect.equals("a", UTF8.decode([0xEF, 0xBB, 0xBF, 0x61])); |
12 Expect.equals("a", UTF8.decoder.convert([0xEF, 0xBB, 0xBF, 0x61])); | 13 Expect.equals("a", UTF8.decoder.convert([0xEF, 0xBB, 0xBF, 0x61])); |
13 Expect.equals("a", new Utf8Decoder().convert([0xEF, 0xBB, 0xBF, 0x61])); | 14 Expect.equals("a", new Utf8Decoder().convert([0xEF, 0xBB, 0xBF, 0x61])); |
| 15 Expect.equals( |
| 16 "a", UTF8.decode([0xEF, 0xBB, 0xBF, 0x61], allowMalformed: true)); |
14 Expect.equals("a", | 17 Expect.equals("a", |
15 UTF8.decode([0xEF, 0xBB, 0xBF, 0x61], allowMalformed: true)); | 18 new Utf8Codec(allowMalformed: true).decode([0xEF, 0xBB, 0xBF, 0x61])); |
16 Expect.equals("a", new Utf8Codec(allowMalformed: true) | 19 Expect.equals( |
17 .decode([0xEF, 0xBB, 0xBF, 0x61])); | 20 "a", |
18 Expect.equals("a", new Utf8Codec(allowMalformed: true) | 21 new Utf8Codec(allowMalformed: true) |
19 .decoder.convert([0xEF, 0xBB, 0xBF, 0x61])); | 22 .decoder |
20 Expect.equals("a", new Utf8Decoder(allowMalformed: true) | 23 .convert([0xEF, 0xBB, 0xBF, 0x61])); |
21 .convert([0xEF, 0xBB, 0xBF, 0x61])); | 24 Expect.equals("a", |
| 25 new Utf8Decoder(allowMalformed: true).convert([0xEF, 0xBB, 0xBF, 0x61])); |
22 Expect.equals("", UTF8.decode([0xEF, 0xBB, 0xBF])); | 26 Expect.equals("", UTF8.decode([0xEF, 0xBB, 0xBF])); |
23 Expect.equals("", UTF8.decoder.convert([0xEF, 0xBB, 0xBF])); | 27 Expect.equals("", UTF8.decoder.convert([0xEF, 0xBB, 0xBF])); |
24 Expect.equals("", new Utf8Decoder().convert([0xEF, 0xBB, 0xBF])); | 28 Expect.equals("", new Utf8Decoder().convert([0xEF, 0xBB, 0xBF])); |
| 29 Expect.equals("", UTF8.decode([0xEF, 0xBB, 0xBF], allowMalformed: true)); |
| 30 Expect.equals( |
| 31 "", new Utf8Codec(allowMalformed: true).decode([0xEF, 0xBB, 0xBF])); |
25 Expect.equals("", | 32 Expect.equals("", |
26 UTF8.decode([0xEF, 0xBB, 0xBF], allowMalformed: true)); | 33 new Utf8Codec(allowMalformed: true).decoder.convert([0xEF, 0xBB, 0xBF])); |
27 Expect.equals("", new Utf8Codec(allowMalformed: true) | 34 Expect.equals( |
28 .decode([0xEF, 0xBB, 0xBF])); | 35 "", new Utf8Decoder(allowMalformed: true).convert([0xEF, 0xBB, 0xBF])); |
29 Expect.equals("", new Utf8Codec(allowMalformed: true) | |
30 .decoder.convert([0xEF, 0xBB, 0xBF])); | |
31 Expect.equals("", new Utf8Decoder(allowMalformed: true) | |
32 .convert([0xEF, 0xBB, 0xBF])); | |
33 Expect.equals("a\u{FEFF}", UTF8.decode([0x61, 0xEF, 0xBB, 0xBF])); | 36 Expect.equals("a\u{FEFF}", UTF8.decode([0x61, 0xEF, 0xBB, 0xBF])); |
34 Expect.equals("a\u{FEFF}", UTF8.decoder.convert([0x61, 0xEF, 0xBB, 0xBF])); | 37 Expect.equals("a\u{FEFF}", UTF8.decoder.convert([0x61, 0xEF, 0xBB, 0xBF])); |
| 38 Expect.equals( |
| 39 "a\u{FEFF}", new Utf8Decoder().convert([0x61, 0xEF, 0xBB, 0xBF])); |
| 40 Expect.equals( |
| 41 "a\u{FEFF}", UTF8.decode([0x61, 0xEF, 0xBB, 0xBF], allowMalformed: true)); |
35 Expect.equals("a\u{FEFF}", | 42 Expect.equals("a\u{FEFF}", |
36 new Utf8Decoder().convert([0x61, 0xEF, 0xBB, 0xBF])); | 43 new Utf8Codec(allowMalformed: true).decode([0x61, 0xEF, 0xBB, 0xBF])); |
| 44 Expect.equals( |
| 45 "a\u{FEFF}", |
| 46 new Utf8Codec(allowMalformed: true) |
| 47 .decoder |
| 48 .convert([0x61, 0xEF, 0xBB, 0xBF])); |
37 Expect.equals("a\u{FEFF}", | 49 Expect.equals("a\u{FEFF}", |
38 UTF8.decode([0x61, 0xEF, 0xBB, 0xBF], allowMalformed: true)); | 50 new Utf8Decoder(allowMalformed: true).convert([0x61, 0xEF, 0xBB, 0xBF])); |
39 Expect.equals("a\u{FEFF}", new Utf8Codec(allowMalformed: true) | |
40 .decode([0x61, 0xEF, 0xBB, 0xBF])); | |
41 Expect.equals("a\u{FEFF}", new Utf8Codec(allowMalformed: true) | |
42 .decoder.convert([0x61, 0xEF, 0xBB, 0xBF])); | |
43 Expect.equals("a\u{FEFF}", new Utf8Decoder(allowMalformed: true) | |
44 .convert([0x61, 0xEF, 0xBB, 0xBF])); | |
45 } | 51 } |
OLD | NEW |