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

Side by Side Diff: utils/tests/string_encoding/Utf16Tests.dart

Issue 9233041: String encoding utility methods and tests for Unicode, UTF-8, -16 and -32. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: remove notes to self Created 8 years, 10 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
OLDNEW
(Empty)
1 #!/usr/bin/env dart
2 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
3 // for details. All rights reserved. Use of this source code is governed by a
4 // BSD-style license that can be found in the LICENSE file.
5
6 #library("UnicodeTests");
7 #import("DUnit.dart");
8 #import("../../string_encoding/Utf16.dart");
9
10 void main() {
11 TestSuite suite = new TestSuite();
12 suite.registerTestClass(new Utf16Tests());
13 suite.run();
14 }
15
16 class Utf16Tests extends TestClass {
17 void registerTests(TestSuite suite) {
18 register("testEncodeToUtf16", testEncodeToUtf16, suite);
19 register("testUtf16BytesToString", testUtf16BytesToString, suite);
20 }
21
22 void testEncodeToUtf16() {
Søren Gjesse 2012/02/01 11:25:25 Same here, have duplicated test data in a shared l
dcarlson 2012/02/01 22:18:46 Done.
23 Expect.listEquals([
24 0xfe, 0xff, 0xac, 0x00, 0xac, 0x01, 0xac, 0x02,
25 0xac, 0x03, 0xac, 0x04, 0xac, 0x05, 0xac, 0x06,
26 0xac, 0x07, 0xac, 0x08, 0xac, 0x09, 0xac, 0x0a,
27 0xac, 0x0b, 0xac, 0x0c, 0xac, 0x0d, 0xac, 0x0e,
28 0xac, 0x0f, 0xac, 0x10, 0xac, 0x11, 0xac, 0x12,
29 0xac, 0x13, 0xac, 0x14, 0xac, 0x15, 0xac, 0x16,
30 0xac, 0x17, 0xac, 0x18, 0xac, 0x19, 0xac, 0x1a,
31 0xac, 0x1b, 0x00, 0x0a, 0xac, 0x1c, 0xac, 0x1d,
32 0xac, 0x1e, 0xac, 0x1f, 0xac, 0x20, 0xac, 0x21,
33 0xac, 0x22, 0xac, 0x23, 0xac, 0x24, 0xac, 0x25,
34 0xac, 0x26, 0xac, 0x27, 0xac, 0x28, 0xac, 0x29,
35 0xac, 0x2a, 0xac, 0x2b, 0xac, 0x2c, 0xac, 0x2d,
36 0xac, 0x2e, 0xac, 0x2f, 0xac, 0x30, 0xac, 0x31,
37 0xac, 0x32, 0xac, 0x33, 0xac, 0x34, 0xac, 0x35,
38 0xac, 0x36, 0xac, 0x37, 0x00, 0x0a, 0xac, 0x38,
39 0xac, 0x39, 0xac, 0x3a, 0xac, 0x3b, 0xac, 0x3c,
40 0xac, 0x3d, 0xac, 0x3e, 0xac, 0x3f, 0xac, 0x40,
41 0xac, 0x41, 0xac, 0x42, 0xac, 0x43, 0xac, 0x44,
42 0xac, 0x45, 0xac, 0x46, 0xac, 0x47, 0xac, 0x48,
43 0xac, 0x49, 0xac, 0x4a, 0xac, 0x4b, 0xac, 0x4c,
44 0xac, 0x4d, 0xac, 0x4e, 0xac, 0x4f, 0xac, 0x50,
45 0xac, 0x51, 0xac, 0x52, 0xac, 0x53], encodeAsUtf16("""
46 가각갂갃간갅갆갇갈갉갊갋갌갍갎갏감갑값갓갔강갖갗갘같갚갛
47 개객갞갟갠갡갢갣갤갥갦갧갨갩갪갫갬갭갮갯갰갱갲갳갴갵갶갷
48 갸갹갺갻갼갽갾갿걀걁걂걃걄걅걆걇걈걉걊걋걌걍걎걏걐걑걒걓"""),
49 "encode UTF-16(BE by default) Korean");
50
51 Expect.listEquals([
52 0x00, 0xac, 0x01, 0xac, 0x02, 0xac, 0x03, 0xac,
53 0x04, 0xac, 0x05, 0xac, 0x06, 0xac, 0x07, 0xac,
54 0x08, 0xac, 0x09, 0xac, 0x0a, 0xac, 0x0b, 0xac,
55 0x0c, 0xac, 0x0d, 0xac, 0x0e, 0xac, 0x0f, 0xac,
56 0x10, 0xac, 0x11, 0xac, 0x12, 0xac, 0x13, 0xac,
57 0x14, 0xac, 0x15, 0xac, 0x16, 0xac, 0x17, 0xac,
58 0x18, 0xac, 0x19, 0xac, 0x1a, 0xac, 0x1b, 0xac,
59 0x0a, 0x00, 0x1c, 0xac, 0x1d, 0xac, 0x1e, 0xac,
60 0x1f, 0xac, 0x20, 0xac, 0x21, 0xac, 0x22, 0xac,
61 0x23, 0xac, 0x24, 0xac, 0x25, 0xac, 0x26, 0xac,
62 0x27, 0xac, 0x28, 0xac, 0x29, 0xac, 0x2a, 0xac,
63 0x2b, 0xac, 0x2c, 0xac, 0x2d, 0xac, 0x2e, 0xac,
64 0x2f, 0xac, 0x30, 0xac, 0x31, 0xac, 0x32, 0xac,
65 0x33, 0xac, 0x34, 0xac, 0x35, 0xac, 0x36, 0xac,
66 0x37, 0xac, 0x0a, 0x00, 0x38, 0xac, 0x39, 0xac,
67 0x3a, 0xac, 0x3b, 0xac, 0x3c, 0xac, 0x3d, 0xac,
68 0x3e, 0xac, 0x3f, 0xac, 0x40, 0xac, 0x41, 0xac,
69 0x42, 0xac, 0x43, 0xac, 0x44, 0xac, 0x45, 0xac,
70 0x46, 0xac, 0x47, 0xac, 0x48, 0xac, 0x49, 0xac,
71 0x4a, 0xac, 0x4b, 0xac, 0x4c, 0xac, 0x4d, 0xac,
72 0x4e, 0xac, 0x4f, 0xac, 0x50, 0xac, 0x51, 0xac,
73 0x52, 0xac, 0x53, 0xac], encodeAsUtf16le("""
74 가각갂갃간갅갆갇갈갉갊갋갌갍갎갏감갑값갓갔강갖갗갘같갚갛
75 개객갞갟갠갡갢갣갤갥갦갧갨갩갪갫갬갭갮갯갰갱갲갳갴갵갶갷
76 갸갹갺갻갼갽갾갿걀걁걂걃걄걅걆걇걈걉걊걋걌걍걎걏걐걑걒걓"""),
77 "encode UTF-16LE Korean");
78 }
79
80 void testUtf16BytesToString() {
81 Expect.stringEquals("水", decodeFromUtf16([0x6C, 0x34]),
82 "Water variation 1");
83 Expect.stringEquals("水", decodeFromUtf16([0xFE, 0xFF, 0x6C, 0x34]),
84 "Water variation 2");
85 Expect.stringEquals("水", decodeFromUtf16([0xFF, 0xFE, 0x34, 0x6C]),
86 "Water variation 3");
87
88 Expect.stringEquals("水", decodeFromUtf16be([0x6C, 0x34]),
89 "Water variation 4");
90 Expect.stringEquals("水", decodeFromUtf16be([0xFE, 0xFF, 0x6C, 0x34]),
91 "Water variation 5");
92
93 Expect.stringEquals("水", decodeFromUtf16le([0x34, 0x6C]),
94 "Water variation 6");
95 Expect.stringEquals("水", decodeFromUtf16le([0xFF, 0xFE, 0x34, 0x6C]),
96 "Water variation 7");
97
98 Expect.stringEquals("""
99 가각갂갃간갅갆갇갈갉갊갋갌갍갎갏감갑값갓갔강갖갗갘같갚갛
100 개객갞갟갠갡갢갣갤갥갦갧갨갩갪갫갬갭갮갯갰갱갲갳갴갵갶갷
101 갸갹갺갻갼갽갾갿걀걁걂걃걄걅걆걇걈걉걊걋걌걍걎걏걐걑걒걓""",
102 decodeFromUtf16([
103 0xfe, 0xff, 0xac, 0x00, 0xac, 0x01, 0xac, 0x02,
104 0xac, 0x03, 0xac, 0x04, 0xac, 0x05, 0xac, 0x06,
105 0xac, 0x07, 0xac, 0x08, 0xac, 0x09, 0xac, 0x0a,
106 0xac, 0x0b, 0xac, 0x0c, 0xac, 0x0d, 0xac, 0x0e,
107 0xac, 0x0f, 0xac, 0x10, 0xac, 0x11, 0xac, 0x12,
108 0xac, 0x13, 0xac, 0x14, 0xac, 0x15, 0xac, 0x16,
109 0xac, 0x17, 0xac, 0x18, 0xac, 0x19, 0xac, 0x1a,
110 0xac, 0x1b, 0x00, 0x0a, 0xac, 0x1c, 0xac, 0x1d,
111 0xac, 0x1e, 0xac, 0x1f, 0xac, 0x20, 0xac, 0x21,
112 0xac, 0x22, 0xac, 0x23, 0xac, 0x24, 0xac, 0x25,
113 0xac, 0x26, 0xac, 0x27, 0xac, 0x28, 0xac, 0x29,
114 0xac, 0x2a, 0xac, 0x2b, 0xac, 0x2c, 0xac, 0x2d,
115 0xac, 0x2e, 0xac, 0x2f, 0xac, 0x30, 0xac, 0x31,
116 0xac, 0x32, 0xac, 0x33, 0xac, 0x34, 0xac, 0x35,
117 0xac, 0x36, 0xac, 0x37, 0x00, 0x0a, 0xac, 0x38,
118 0xac, 0x39, 0xac, 0x3a, 0xac, 0x3b, 0xac, 0x3c,
119 0xac, 0x3d, 0xac, 0x3e, 0xac, 0x3f, 0xac, 0x40,
120 0xac, 0x41, 0xac, 0x42, 0xac, 0x43, 0xac, 0x44,
121 0xac, 0x45, 0xac, 0x46, 0xac, 0x47, 0xac, 0x48,
122 0xac, 0x49, 0xac, 0x4a, 0xac, 0x4b, 0xac, 0x4c,
123 0xac, 0x4d, 0xac, 0x4e, 0xac, 0x4f, 0xac, 0x50,
124 0xac, 0x51, 0xac, 0x52, 0xac, 0x53]), "UTF-16BE Korean");
125 }
126 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698