summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMika Viskari <miv391@gmail.com>2024-08-29 20:05:44 +0300
committerMika Viskari <miv391@gmail.com>2024-08-29 20:05:44 +0300
commit3153e9afdaaf1596718d6622b51e457aea354c4f (patch)
tree02ac42d751c0c22a0ffc2a0f5e6a9428e920bfc5
parentfd7239cfab228c50777cd54a8bf6eb279a02ef81 (diff)
downloadredot-engine-3153e9afdaaf1596718d6622b51e457aea354c4f.tar.gz
Added more unit tests for String insert and join.
-rw-r--r--tests/core/string/test_string.h31
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_*") {