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