Files
sdk/runtime/tests/vm/dart/string_intern_test.dart
T
Josh Soref 77978889eb Spelling
Closes https://github.com/dart-lang/sdk/pull/51143

GitOrigin-RevId: 9e21c99a222d588e4fc95980725a2f8c9784965c
Change-Id: If0870e8936c7649935dce7e23cd783d62aa5610c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/279916
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2023-01-30 18:29:59 +00:00

25 lines
788 B
Dart

// Copyright (c) 2022, 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.
import "dart:_internal" show intern;
import "package:expect/expect.dart";
@pragma("vm:never-inline")
String genString(int i) => "abc-${i}-xyz";
main() {
int random = Object().hashCode;
var a = genString(random);
var b = genString(random);
Expect.notIdentical(a, b);
var internedA = intern(a);
Expect.equals(a, internedA);
// Likely, but not guaranteed: Expect.identical(a, internedA);
var internedB = intern(b);
Expect.equals(b, internedB);
// Likely, but not guaranteed: Expect.identical(a, internedB);
Expect.identical(internedA, internedB);
}