dart-sdk/tests/corelib/string_source_test.dart
Robert Nystrom b998b10f3e Migrate remaining corelib_2/ tests to NNBD.
Change-Id: I3a31632ce28fb87a410b759d092c7ebc9393574d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128306
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2019-12-17 23:06:24 +00:00

36 lines
1.1 KiB
Dart

// Copyright (c) 2013, 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.
// Test that different representations of the same string are all equal.
import "dart:convert";
import "package:expect/expect.dart";
main() {
var base = "\u{10412}";
var strings = [
"\u{10412}",
"𐐒",
new String.fromCharCodes([0xd801, 0xdc12]),
base[0] + base[1],
"$base",
"${base[0]}${base[1]}",
"${base[0]}${base.substring(1)}",
new String.fromCharCodes([0x10412]),
("a" + base).substring(1),
(new StringBuffer()..writeCharCode(0xd801)..writeCharCode(0xdc12))
.toString(),
(new StringBuffer()..writeCharCode(0x10412)).toString(),
json.decode('"\u{10412}"'),
(json.decode('{"\u{10412}":[]}') as Map).keys.first
];
for (String string in strings) {
Expect.equals(base.length, string.length);
Expect.equals(base, string);
Expect.equals(base.hashCode, string.hashCode);
Expect.listEquals(base.codeUnits.toList(), string.codeUnits.toList());
}
}