diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-08-30 09:59:47 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-08-30 09:59:47 +0200 |
commit | ce069e45670ac6b31b5a19ea63279da865d21e5f (patch) | |
tree | 222bc11c49b1b02992ecf2593c80d682c2d90329 | |
parent | 84ad6115655a7a7f4a754b87cb6ea4879b387a3c (diff) | |
parent | 3153e9afdaaf1596718d6622b51e457aea354c4f (diff) | |
download | redot-engine-ce069e45670ac6b31b5a19ea63279da865d21e5f.tar.gz |
Merge pull request #96291 from miv391/string-unit-tests
Add more unit tests for String `insert` and `join`.
-rw-r--r-- | tests/core/string/test_string.h | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/tests/core/string/test_string.h b/tests/core/string/test_string.h index b47e5b1eb9..a9f615af84 100644 --- a/tests/core/string/test_string.h +++ b/tests/core/string/test_string.h @@ -433,6 +433,19 @@ TEST_CASE("[String] Insertion") { String s = "Who is Frederic?"; s = s.insert(s.find("?"), " Chopin"); CHECK(s == "Who is Frederic Chopin?"); + + s = "foobar"; + CHECK(s.insert(0, "X") == "Xfoobar"); + CHECK(s.insert(-100, "X") == "foobar"); + CHECK(s.insert(6, "X") == "foobarX"); + CHECK(s.insert(100, "X") == "foobarX"); + CHECK(s.insert(2, "") == "foobar"); + + s = ""; + CHECK(s.insert(0, "abc") == "abc"); + CHECK(s.insert(100, "abc") == "abc"); + CHECK(s.insert(-100, "abc") == ""); + CHECK(s.insert(0, "") == ""); } TEST_CASE("[String] Erasing") { @@ -1811,13 +1824,25 @@ TEST_CASE("[String] SHA1/SHA256/MD5") { } TEST_CASE("[String] Join") { - String s = ", "; + String comma = ", "; + String empty = ""; Vector<String> parts; + + CHECK(comma.join(parts) == ""); + CHECK(empty.join(parts) == ""); + parts.push_back("One"); + CHECK(comma.join(parts) == "One"); + CHECK(empty.join(parts) == "One"); + parts.push_back("B"); parts.push_back("C"); - String t = s.join(parts); - CHECK(t == "One, B, C"); + CHECK(comma.join(parts) == "One, B, C"); + CHECK(empty.join(parts) == "OneBC"); + + parts.push_back(""); + CHECK(comma.join(parts) == "One, B, C, "); + CHECK(empty.join(parts) == "OneBC"); } TEST_CASE("[String] Is_*") { |