OLD | NEW |
| (Empty) |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | |
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. | |
4 | |
5 // Test that different representations of the same string are all equal. | |
6 | |
7 import "dart:convert"; | |
8 | |
9 import "package:expect/expect.dart"; | |
10 | |
11 main() { | |
12 var base = "\u{10412}"; | |
13 var strings = [ | |
14 "\u{10412}", | |
15 "𐐒", | |
16 new String.fromCharCodes([0xd801, 0xdc12]), | |
17 base[0] + base[1], | |
18 "$base", | |
19 "${base[0]}${base[1]}", | |
20 "${base[0]}${base.substring(1)}", | |
21 new String.fromCharCodes([0x10412]), | |
22 ("a" + base).substring(1), | |
23 (new StringBuffer()..writeCharCode(0xd801)..writeCharCode(0xdc12)) | |
24 .toString(), | |
25 (new StringBuffer()..writeCharCode(0x10412)).toString(), | |
26 JSON.decode('"\u{10412}"'), | |
27 (JSON.decode('{"\u{10412}":[]}') as Map).keys.first | |
28 ]; | |
29 for (String string in strings) { | |
30 Expect.equals(base.length, string.length); | |
31 Expect.equals(base, string); | |
32 Expect.equals(base.hashCode, string.hashCode); | |
33 Expect.listEquals(base.codeUnits.toList(), string.codeUnits.toList()); | |
34 } | |
35 } | |
OLD | NEW |