| Index: tests/language/regex/backreferences_test.dart
|
| diff --git a/tests/language/regex/backreferences_test.dart b/tests/language/regex/backreferences_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..cc8ecd7103f680e02f3bfac31812a7431b7f10e2
|
| --- /dev/null
|
| +++ b/tests/language/regex/backreferences_test.dart
|
| @@ -0,0 +1,26 @@
|
| +// 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 to ensure correct behaviour when using backreferences in a RegExp");
|
| +
|
| + shouldBeTrue(new RegExp(r"(...)\1$").hasMatch('abcabc'));
|
| + shouldBeFalse(new RegExp(r"(...)\1$").hasMatch('abcdef'));
|
| + shouldBeFalse(new RegExp(r"(...)\2$").hasMatch('abcabc'));
|
| + shouldBeFalse(new RegExp(r"(...)\2$").hasMatch('abc'));
|
| + shouldBeTrue(new RegExp(r"\1(...)$").hasMatch('abcabc'));
|
| + shouldBeTrue(new RegExp(r"\1(...)$").hasMatch('abcdef'));
|
| + shouldBeFalse(new RegExp(r"\2(...)$").hasMatch('abcabc'));
|
| + shouldBeFalse(new RegExp(r"\2(...)$").hasMatch('abc'));
|
| + shouldBeTrue(new RegExp(r"\1?(...)$").hasMatch('abc'));
|
| + shouldBeTrue(new RegExp(r"\1?(...)$").hasMatch('abc'));
|
| +
|
| + var re = new RegExp(r"[^b]*((..)|(\2))+Sz", caseSensitive: false);
|
| +
|
| + shouldBeFalse(re.hasMatch('axabcd'));
|
| + shouldBeTrue(re.hasMatch('axabcsz'));
|
| +}
|
|
|