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