6cc9efe290
Change-Id: I94dfcea40566190c6bf153c108b0d0d5dbf27a4d Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/400148 Commit-Queue: Bob Nystrom <rnystrom@google.com> Reviewed-by: Lasse Nielsen <lrn@google.com> Auto-Submit: Bob Nystrom <rnystrom@google.com>
183 lines
2.7 KiB
Dart
183 lines
2.7 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.
|
|
|
|
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);
|
|
}
|