Files
Robert Nystrom 6cc9efe290 Reformat tests/language/c*.
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>
2024-12-12 15:50:08 -08:00

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);
}