Index: tests/language/regex/early-acid3-86_test.dart |
diff --git a/tests/language/regex/early-acid3-86_test.dart b/tests/language/regex/early-acid3-86_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e294509bedfe39e74ba94177b666dfed8a3b2fcb |
--- /dev/null |
+++ b/tests/language/regex/early-acid3-86_test.dart |
@@ -0,0 +1,19 @@ |
+// 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( |
+ 'Test that covers capturing brackets, and was adapted from a part of an early version of Acid3.' |
+ ); |
+ |
+ // JS regexps aren't like Perl regexps, if their character |
+ // classes start with a ] that means they're empty. So this |
+ // is a syntax error; if we get here it's a bug. |
+ assertThrows(() => new RegExp(r"TA[])]").firstMatch('TA]')); |
+ shouldBeNull(new RegExp(r"[]").firstMatch('')); |
+ shouldBe(new RegExp(r"(\3)(\1)(a)").firstMatch('cat'), ['a', '', '', 'a']); |
+} |