summaryrefslogtreecommitdiff
path: root/Source/UnitTests/Common/StringUtilTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/UnitTests/Common/StringUtilTest.cpp')
-rw-r--r--Source/UnitTests/Common/StringUtilTest.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/Source/UnitTests/Common/StringUtilTest.cpp b/Source/UnitTests/Common/StringUtilTest.cpp
index 2be462a1b5..28bd150c06 100644
--- a/Source/UnitTests/Common/StringUtilTest.cpp
+++ b/Source/UnitTests/Common/StringUtilTest.cpp
@@ -225,3 +225,34 @@ TEST(StringUtil, SplitPathWindowsPathWithDriveLetter)
EXPECT_EQ(extension, "");
}
#endif
+
+TEST(StringUtil, CaseInsensitiveContains_BasicMatches)
+{
+ EXPECT_TRUE(Common::CaseInsensitiveContains("hello world", "hello"));
+ EXPECT_TRUE(Common::CaseInsensitiveContains("hello world", "world"));
+ EXPECT_TRUE(Common::CaseInsensitiveContains("HELLO WORLD", "hello"));
+ EXPECT_TRUE(Common::CaseInsensitiveContains("HeLLo WoRLd", "WORLD"));
+}
+
+TEST(StringUtil, CaseInsensitiveContains_SubstringNotFound)
+{
+ EXPECT_FALSE(Common::CaseInsensitiveContains("hello world", "hey"));
+}
+
+TEST(StringUtil, CaseInsensitiveContains_EmptyStrings)
+{
+ EXPECT_TRUE(Common::CaseInsensitiveContains("", ""));
+ EXPECT_TRUE(Common::CaseInsensitiveContains("hello", ""));
+ EXPECT_FALSE(Common::CaseInsensitiveContains("", "world"));
+}
+
+TEST(StringUtil, CaseInsensitiveContains_EntireStringMatch)
+{
+ EXPECT_TRUE(Common::CaseInsensitiveContains("Test", "TEST"));
+}
+
+TEST(StringUtil, CaseInsensitiveContains_OverlappingMatches)
+{
+ EXPECT_TRUE(Common::CaseInsensitiveContains("aaaaaa", "aa"));
+ EXPECT_TRUE(Common::CaseInsensitiveContains("ababababa", "bABa"));
+}