Remove boost::split
Replaced boost::split with a simple std::string_view-based split to
reduce Boost dependency and template instantiation during compilation
Tested: added UT and verified all tests passed
Change-Id: Icc84794a3d5a98088bdbce032dc76055a035f0dc
Signed-off-by: George Liu <liuxiwei@ieisystem.com>
diff --git a/test/test_utils.cpp b/test/test_utils.cpp
index 7c67e9b..af224a8 100644
--- a/test/test_utils.cpp
+++ b/test/test_utils.cpp
@@ -53,3 +53,45 @@
     auto match = iFindFirst("", "Hello");
     EXPECT_FALSE(match);
 }
+
+TEST(SplitTest, NormalSplit)
+{
+    auto result = split("a,b,c", ',');
+    std::vector<std::string> expected = {"a", "b", "c"};
+    EXPECT_EQ(result, expected);
+}
+
+TEST(SplitTest, ConsecutiveDelimiters)
+{
+    auto result = split("a,,b", ',');
+    std::vector<std::string> expected = {"a", "", "b"};
+    EXPECT_EQ(result, expected);
+}
+
+TEST(SplitTest, LeadingDelimiter)
+{
+    auto result = split(",a,b", ',');
+    std::vector<std::string> expected = {"", "a", "b"};
+    EXPECT_EQ(result, expected);
+}
+
+TEST(SplitTest, TrailingDelimiter)
+{
+    auto result = split("a,b,", ',');
+    std::vector<std::string> expected = {"a", "b", ""};
+    EXPECT_EQ(result, expected);
+}
+
+TEST(SplitTest, NoDelimiter)
+{
+    auto result = split("abc", ',');
+    std::vector<std::string> expected = {"abc"};
+    EXPECT_EQ(result, expected);
+}
+
+TEST(SplitTest, EmptyString)
+{
+    auto result = split("", ',');
+    std::vector<std::string> expected = {""};
+    EXPECT_EQ(result, expected);
+}