blob: 50876d854b07e5d8c9b6471407f6acb22c7a80f9 [file] [log] [blame]
// 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 Returns a new string where the first occurrence of [from] in this
* string is replaced with [to].
* @description Checks that this function replace only the first pattern
* occurrence and does it correctly
* @author msyabro
*/
import "../../../Utils/expect.dart";
main() {
String str = "<first pattern> and <second pattern>";
RegExp pattern = new RegExp("<.*?>", multiLine: false, caseSensitive: true);
Expect.isTrue(str.replaceFirst(pattern, "") == " and <second pattern>");
Expect.isTrue("".replaceFirst("", "EmptyString") == "EmptyString");
Expect.isTrue("".replaceFirst("a", "b") == "");
Expect.isTrue("a".replaceFirst("a", "a") == "a");
Expect.isTrue("<>".replaceFirst(pattern, "") == "");
Expect.isTrue("There are no patterns".replaceFirst(pattern, "") ==
"There are no patterns");
Expect.isTrue("<Nested <patterns>>".replaceFirst(pattern, "") == ">");
}