40e18905f2
Closes https://github.com/dart-lang/sdk/pull/49478 TEST=Manual GitOrigin-RevId: f4c9c6869dfe73639295e86574a021523b3d374d Change-Id: I134a97caed4eec59d70e9cbca16b7e9a472cf2c1 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/251902 Reviewed-by: Michael Thomsen <mit@google.com> Commit-Queue: Alexander Thomas <athom@google.com> Reviewed-by: Aske Simon Christensen <askesc@google.com> Reviewed-by: Kevin Chisholm <kevinjchisholm@google.com> Reviewed-by: Alexander Thomas <athom@google.com>
54 lines
1.8 KiB
Dart
54 lines
1.8 KiB
Dart
// Copyright (c) 2011, 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.
|
|
|
|
// @dart = 2.9
|
|
|
|
import "package:expect/expect.dart";
|
|
|
|
// Exercises compile-time string constants
|
|
|
|
const yz = "y" + "z";
|
|
|
|
main() {
|
|
// Constant comparisons are independent of the quotes used.
|
|
Expect.isTrue(identical("abcd", 'abcd'));
|
|
Expect.isTrue(identical('abcd', "abcd"));
|
|
Expect.isTrue(identical("ab\"cd", 'ab"cd'));
|
|
Expect.isTrue(identical('ab\'cd', "ab'cd"));
|
|
|
|
// String concatenation works even when quotes are different.
|
|
Expect.isTrue(identical("abcd", "ab" "cd"));
|
|
Expect.isTrue(identical("abcd", "ab" 'cd'));
|
|
Expect.isTrue(identical("abcd", 'ab' 'cd'));
|
|
Expect.isTrue(identical("abcd", 'ab' "cd"));
|
|
|
|
// Or when there are more than 2 concatenations.
|
|
Expect.isTrue(identical("abcd", "a" "b" "cd"));
|
|
Expect.isTrue(identical("abcd", "a" "b" "c" "d"));
|
|
Expect.isTrue(identical('abcd', 'a' 'b' 'c' 'd'));
|
|
Expect.isTrue(identical("abcd", "a" "b" 'c' "d"));
|
|
Expect.isTrue(identical("abcd", 'a' 'b' 'c' 'd'));
|
|
Expect.isTrue(identical("abcd", 'a' "b" 'c' "d"));
|
|
|
|
Expect.isTrue(identical("a'b'cd", "a" "'b'" 'c' "d"));
|
|
Expect.isTrue(identical("a\"b\"cd", "a" '"b"' 'c' "d"));
|
|
Expect.isTrue(identical("a\"b\"cd", "a" '"b"' 'c' "d"));
|
|
Expect.isTrue(identical("a'b'cd", 'a' "'b'" 'c' "d"));
|
|
Expect.isTrue(identical('a\'b\'cd', "a" "'b'" 'c' "d"));
|
|
Expect.isTrue(identical('a"b"cd', 'a' '"b"' 'c' "d"));
|
|
Expect.isTrue(identical("a\"b\"cd", 'a' '"b"' 'c' "d"));
|
|
|
|
const a = identical("ab", "a" + "b");
|
|
Expect.isTrue(a);
|
|
|
|
const b = identical("xyz", "x" + yz);
|
|
Expect.isTrue(b);
|
|
|
|
const c = identical("12", "1" "2");
|
|
Expect.isTrue(c);
|
|
|
|
const d = identical("zyz", "z$yz");
|
|
Expect.isTrue(d);
|
|
}
|