Index: tests/language/regex/malformed-escapes_test.dart |
diff --git a/tests/language/regex/malformed-escapes_test.dart b/tests/language/regex/malformed-escapes_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b0515503f5eb2002316f6e8aee1de8b8d6568bc1 |
--- /dev/null |
+++ b/tests/language/regex/malformed-escapes_test.dart |
@@ -0,0 +1,41 @@ |
+// Copyright (c) 2014, 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 'util.dart'; |
+import 'package:expect/expect.dart'; |
+ |
+void main() { |
+ description( |
+ "This page tests handling of malformed escape sequences." |
+ ); |
+ |
+ var regexp; |
+ |
+ regexp = new RegExp(r"\ug", multiLine: true); |
+ shouldBeTrue(regexp.hasMatch('ug')); |
+ |
+ regexp = new RegExp(r"\xg", multiLine: true); |
+ shouldBeTrue(regexp.hasMatch('xg')); |
+ |
+ regexp = new RegExp(r"\c_", multiLine: true); |
+ shouldBeTrue(regexp.hasMatch('\\\\c_')); |
+ |
+ regexp = new RegExp(r"[\B]", multiLine: true); |
+ shouldBeTrue(regexp.hasMatch('B')); |
+ |
+ regexp = new RegExp(r"[\b]", multiLine: true); |
+ shouldBeTrue(regexp.hasMatch('\b')); |
+ |
+ regexp = new RegExp(r"\8", multiLine: true); |
+ shouldBeTrue(regexp.hasMatch('\\\8')); |
+ |
+ regexp = new RegExp(r"^[\c]$"); |
+ shouldBeTrue(regexp.hasMatch('c')); |
+ |
+ regexp = new RegExp(r"^[\c_]$"); |
+ shouldBeFalse(regexp.hasMatch('c')); |
+ |
+ regexp = new RegExp(r"^[\c]]$"); |
+ shouldBeTrue(regexp.hasMatch('c]')); |
+} |