Index: test/codegen/lib/convert/utf83_test.dart |
diff --git a/test/codegen/lib/convert/utf83_test.dart b/test/codegen/lib/convert/utf83_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..093d5a9fa9a7b8a14fb98ca5b8ac96cc95238bdf |
--- /dev/null |
+++ b/test/codegen/lib/convert/utf83_test.dart |
@@ -0,0 +1,45 @@ |
+// 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: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])); |
+} |