Merge pull request #92476 from AThousandShips/string_remove_char

Add `String::remove_char(s)` methods for performance and convenience
This commit is contained in:
Thaddeus Crews
2025-03-10 10:01:04 -05:00
35 changed files with 221 additions and 54 deletions

View File

@@ -466,6 +466,23 @@ TEST_CASE("[String] Erasing") {
CHECK(s == "Josephine is such a girl!");
}
TEST_CASE("[String] remove_char") {
String s = "Banana";
CHECK(s.remove_char('a') == "Bnn");
CHECK(s.remove_char('\0') == "Banana");
CHECK(s.remove_char('x') == "Banana");
}
TEST_CASE("[String] remove_chars") {
String s = "Banana";
CHECK(s.remove_chars("Ba") == "nn");
CHECK(s.remove_chars(String("Ba")) == "nn");
CHECK(s.remove_chars("") == "Banana");
CHECK(s.remove_chars(String()) == "Banana");
CHECK(s.remove_chars("xy") == "Banana");
CHECK(s.remove_chars(String("xy")) == "Banana");
}
TEST_CASE("[String] Number to string") {
CHECK(String::num(0) == "0.0"); // The method takes double, so always add zeros.
CHECK(String::num(0.0) == "0.0");