Files
sdk/tests/language_strong/const_string_test.dart
T
Bob Nystrom 6c757957db Move the dev_compiler strong mode tests into sdk/tests/.
DDC's codegen test copies those files to a local "gen" directory so
that it can do stuff like splitting out the multitests before it
compiles them to JS.

I left all of that alone, so the rest of DDC's test infrastructure is
unchanged. The very first step that builds the "gen" directory just
copies from sdk/tests/..._strong/... instead and the rest is good to go.

I did not move not_yet_strong_tests.dart somewhere more accessible yet
because I'm not sure if kernel needs it or where it should go.

I did not create any status files because DDC doesn't need them and
there are no test suites for the new directories for the other
platforms.
2016-12-09 11:09:55 -08:00

38 lines
1.5 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
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 contatenations.
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"));
}