Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(77)

Unified Diff: tests/language/src/ConstStringTest.dart

Issue 8729018: Fixing string compile-time constant evaluation (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: john comments Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « frog/utils.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/language/src/ConstStringTest.dart
diff --git a/tests/language/src/ConstStringTest.dart b/tests/language/src/ConstStringTest.dart
new file mode 100644
index 0000000000000000000000000000000000000000..d9fdd6149c5100123fc315edda2c05fe938b5a07
--- /dev/null
+++ b/tests/language/src/ConstStringTest.dart
@@ -0,0 +1,35 @@
+// 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.
+
+// Exercises compile-time string constants
+
+main() {
+ // Constant comparisons are independent of the quotes used.
+ Expect.isTrue("abcd" === 'abcd');
+ Expect.isTrue('abcd' === "abcd");
+ Expect.isTrue("ab\"cd" === 'ab"cd');
+ Expect.isTrue('ab\'cd' === "ab'cd");
+
+ // String concatenation works even when quotes are different.
+ Expect.isTrue("abcd" === "ab" + "cd");
+ Expect.isTrue("abcd" === "ab" + 'cd');
+ Expect.isTrue("abcd" === 'ab' + 'cd');
+ Expect.isTrue("abcd" === 'ab' + "cd");
+
+ // Or when there are more than 2 contatenations.
+ Expect.isTrue("abcd" === "a" + "b" + "cd");
+ Expect.isTrue("abcd" === "a" + "b" + "c" + "d");
+ Expect.isTrue('abcd' === 'a' + 'b' + 'c' + 'd');
+ Expect.isTrue("abcd" === "a" + "b" + 'c' + "d");
+ Expect.isTrue("abcd" === 'a' + 'b' + 'c' + 'd');
+ Expect.isTrue("abcd" === 'a' + "b" + 'c' + "d");
+
+ Expect.isTrue("a'b'cd" === "a" + "'b'" + 'c' + "d");
+ Expect.isTrue("a\"b\"cd" === "a" + '"b"' + 'c' + "d");
+ Expect.isTrue("a\"b\"cd" === "a" + '"b"' + 'c' + "d");
+ Expect.isTrue("a'b'cd" === 'a' + "'b'" + 'c' + "d");
+ Expect.isTrue('a\'b\'cd' === "a" + "'b'" + 'c' + "d");
+ Expect.isTrue('a"b"cd' === 'a' + '"b"' + 'c' + "d");
+ Expect.isTrue("a\"b\"cd" === 'a' + '"b"' + 'c' + "d");
+}
« no previous file with comments | « frog/utils.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698