diff options
author | Mika Viskari <miv391@gmail.com> | 2024-08-29 20:05:44 +0300 |
---|---|---|
committer | Mika Viskari <miv391@gmail.com> | 2024-08-29 20:05:44 +0300 |
commit | 3153e9afdaaf1596718d6622b51e457aea354c4f (patch) | |
tree | 02ac42d751c0c22a0ffc2a0f5e6a9428e920bfc5 | |
parent | fd7239cfab228c50777cd54a8bf6eb279a02ef81 (diff) | |
download | redot-engine-3153e9afdaaf1596718d6622b51e457aea354c4f.tar.gz |
Added 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_*") { |