OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. |
| 4 |
| 5 import 'util.dart'; |
| 6 import 'package:expect/expect.dart'; |
| 7 |
| 8 void main() { |
| 9 // UC16 |
| 10 // Characters used: |
| 11 // "\u03a3\u03c2\u03c3\u039b\u03bb" - Sigma, final sigma, sigma, Lambda, lamda |
| 12 shouldBe(new RegExp(r"x(.)\1x", caseSensitive: false).firstMatch("x\u03a3\u03c
3x"), |
| 13 ["x\u03a3\u03c3x", "\u03a3"], "backref-UC16"); |
| 14 assertFalse(new RegExp(r"x(...)\1", caseSensitive: false).hasMatch("x\u03a3\u0
3c2\u03c3\u03c2\u03c3"), |
| 15 "\1 ASCII, string short"); |
| 16 assertTrue(new RegExp(r"\u03a3((?:))\1\1x", caseSensitive: false).hasMatch("\u
03c2x"), "backref-UC16-empty"); |
| 17 assertTrue(new RegExp(r"x(?:...|(...))\1x", caseSensitive: false).hasMatch("x\
u03a3\u03c2\u03c3x"), |
| 18 "backref-UC16-uncaptured"); |
| 19 assertTrue(new RegExp(r"x(?:...|(...))\1x", caseSensitive: false).hasMatch("x\
u03c2\u03c3\u039b\u03a3\u03c2\u03bbx"), |
| 20 "backref-UC16-backtrack"); |
| 21 var longUC16String = "x\u03a3\u03c2\u039b\u03c2\u03c3\u03bb\u03c3\u03a3\u03bb"
; |
| 22 shouldBe(new RegExp(r"x(...)\1\1", caseSensitive: false).firstMatch(longUC16St
ring), |
| 23 [longUC16String, longUC16String.substring(1,4)], |
| 24 "backref-UC16-twice"); |
| 25 |
| 26 assertFalse(new RegExp(r"\xc1", caseSensitive: false).hasMatch('fooA'), "quick
check-uc16-pattern-ascii-subject"); |
| 27 assertFalse(new RegExp(r"[\xe9]").hasMatch('i'), "charclass-uc16-pattern-ascii
-subject"); |
| 28 assertFalse(new RegExp(r"\u5e74|\u6708").hasMatch('t'), "alternation-uc16-patt
ern-ascii-subject"); |
| 29 } |
OLD | NEW |