| // Copyright (c) 2011, 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. |
| |
| /** |
| * @assertion Since the assertions ^, $, \b and \B do not change endIndex, |
| * multiple subsequent occurrences of the same one are equivalent to a single |
| * assertion. |
| * @description Checks that the assertion is true. |
| * @3rdparty sputnik-v1:S15.10.2.6_A5_T1.js-S15.10.2.6_A5_T2.js |
| * @author rodionov |
| */ |
| import "../../../../Utils/expect.dart"; |
| |
| main() { |
| check(r"^^^^^^^\b\b\b\bro\B\B\B\Bbot\b\b\b\b\b$$$$", "robot", 0); |
| } |
| |
| void check(String pattern, String str, int matchPos) { |
| RegExp re = new RegExp(pattern); |
| Match? fm = re.firstMatch(str); |
| Expect.isNotNull(fm, "\"$pattern\" !~ \"$str\""); |
| if(matchPos >= 0) { |
| Expect.equals(matchPos, fm?.start); |
| } |
| } |