Index: tests/language/string_charcode_test.dart |
=================================================================== |
--- tests/language/string_charcode_test.dart (revision 0) |
+++ tests/language/string_charcode_test.dart (working copy) |
@@ -0,0 +1,60 @@ |
+// Copyright (c) 2013, 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. |
+// VMOptions=--optimization-counter-threshold=10 --no-use-osr |
+ |
+import "package:expect/expect.dart"; |
+ |
+main() { |
+ for (int i = 0; i < 20; i++) { |
+ Expect.isTrue(moo("x")); |
+ Expect.isFalse(moo("X")); |
+ Expect.isFalse(moo("xx")); |
+ Expect.isTrue(mooRev("x")); |
+ Expect.isFalse(mooRev("X")); |
+ Expect.isFalse(mooRev("xx")); |
+ Expect.isTrue(goo("Hello", "e")); |
+ Expect.isFalse(goo("Hello", "E")); |
+ Expect.isFalse(goo("Hello", "ee")); |
+ Expect.isTrue(gooRev("Hello", "e")); |
+ Expect.isFalse(gooRev("Hello", "E")); |
+ Expect.isFalse(gooRev("Hello", "ee")); |
+ Expect.isTrue(hoo("HH")); |
+ Expect.isFalse(hoo("Ha")); |
+ Expect.isTrue(hooRev("HH")); |
+ Expect.isFalse(hooRev("Ha")); |
+ } |
+ Expect.isFalse(moo(12)); |
+ Expect.isFalse(mooRev(12)); |
+ Expect.isTrue(goo([1, 2], 2)); |
+ Expect.isTrue(gooRev([1, 2], 2)); |
+ Expect.throws(() => hoo("H"), (e) => e is RangeError); |
+ Expect.throws(() => hooRev("H"), (e) => e is RangeError); |
+} |
+ |
+moo(j) { |
+ return "x" == j; |
+} |
+ |
+goo(a, j) { |
+ return a[1] == j; |
+} |
+ |
+// Check constant folding. |
+hoo(a) { |
+ return a[1] == ("Hello")[0]; |
+} |
+ |
+mooRev(j) { |
+ return j == "x"; |
+} |
+ |
+gooRev(a, j) { |
+ return j == a[1]; |
+} |
+ |
+// Check constant folding. |
+hooRev(a) { |
+ return ("Hello")[0] == a[1]; |
+} |
+ |