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) |
| 24 ..writeCharCode(0xdc12)).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 |