Index: tests/lib/convert/utf83_test.dart |
diff --git a/tests/lib/convert/utf83_test.dart b/tests/lib/convert/utf83_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3e155ddcfc91c13b73f06cd3956c50d303d7efac |
--- /dev/null |
+++ b/tests/lib/convert/utf83_test.dart |
@@ -0,0 +1,46 @@ |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+library utf8_test; |
+import "package:expect/expect.dart"; |
+import 'dart:codec'; |
+import 'dart:convert'; |
+ |
+main() { |
+ // Test that UTF8-decoder removes leading BOM. |
+ Expect.equals("a", UTF8.decode([0xEF, 0xBB, 0xBF, 0x61])); |
+ Expect.equals("a", UTF8.decoder.convert([0xEF, 0xBB, 0xBF, 0x61])); |
+ Expect.equals("a", new Utf8Decoder().convert([0xEF, 0xBB, 0xBF, 0x61])); |
+ Expect.equals("a", |
+ UTF8.decode([0xEF, 0xBB, 0xBF, 0x61], allowMalformed: true)); |
+ Expect.equals("a", new Utf8Codec(allowMalformed: true) |
+ .decode([0xEF, 0xBB, 0xBF, 0x61])); |
+ Expect.equals("a", new Utf8Codec(allowMalformed: true) |
+ .decoder.convert([0xEF, 0xBB, 0xBF, 0x61])); |
+ Expect.equals("a", new Utf8Decoder(allowMalformed: true) |
+ .convert([0xEF, 0xBB, 0xBF, 0x61])); |
+ Expect.equals("", UTF8.decode([0xEF, 0xBB, 0xBF])); |
+ Expect.equals("", UTF8.decoder.convert([0xEF, 0xBB, 0xBF])); |
+ Expect.equals("", new Utf8Decoder().convert([0xEF, 0xBB, 0xBF])); |
+ Expect.equals("", |
+ UTF8.decode([0xEF, 0xBB, 0xBF], allowMalformed: true)); |
+ Expect.equals("", new Utf8Codec(allowMalformed: true) |
+ .decode([0xEF, 0xBB, 0xBF])); |
+ Expect.equals("", new Utf8Codec(allowMalformed: true) |
+ .decoder.convert([0xEF, 0xBB, 0xBF])); |
+ Expect.equals("", new Utf8Decoder(allowMalformed: true) |
+ .convert([0xEF, 0xBB, 0xBF])); |
+ Expect.equals("a\u{FEFF}", UTF8.decode([0x61, 0xEF, 0xBB, 0xBF])); |
+ Expect.equals("a\u{FEFF}", UTF8.decoder.convert([0x61, 0xEF, 0xBB, 0xBF])); |
+ Expect.equals("a\u{FEFF}", |
+ new Utf8Decoder().convert([0x61, 0xEF, 0xBB, 0xBF])); |
+ Expect.equals("a\u{FEFF}", |
+ UTF8.decode([0x61, 0xEF, 0xBB, 0xBF], allowMalformed: true)); |
+ Expect.equals("a\u{FEFF}", new Utf8Codec(allowMalformed: true) |
+ .decode([0x61, 0xEF, 0xBB, 0xBF])); |
+ Expect.equals("a\u{FEFF}", new Utf8Codec(allowMalformed: true) |
+ .decoder.convert([0x61, 0xEF, 0xBB, 0xBF])); |
+ Expect.equals("a\u{FEFF}", new Utf8Decoder(allowMalformed: true) |
+ .convert([0x61, 0xEF, 0xBB, 0xBF])); |
+} |