Skip to content

Commit 4fad7e4

Browse files
kiminuotheStack
authored andcommitted
test: add unit tests for SplitString helper
1 parent 9cc8e87 commit 4fad7e4

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

src/test/util_tests.cpp

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2349,6 +2349,55 @@ BOOST_AUTO_TEST_CASE(test_spanparsing)
23492349
BOOST_CHECK_EQUAL(SpanToStr(results[3]), "");
23502350
}
23512351

2352+
BOOST_AUTO_TEST_CASE(test_SplitString)
2353+
{
2354+
// Empty string.
2355+
{
2356+
std::vector<std::string> result = SplitString("", '-');
2357+
BOOST_CHECK_EQUAL(result.size(), 1);
2358+
BOOST_CHECK_EQUAL(result[0], "");
2359+
}
2360+
2361+
// Empty items.
2362+
{
2363+
std::vector<std::string> result = SplitString("-", '-');
2364+
BOOST_CHECK_EQUAL(result.size(), 2);
2365+
BOOST_CHECK_EQUAL(result[0], "");
2366+
BOOST_CHECK_EQUAL(result[1], "");
2367+
}
2368+
2369+
// More empty items.
2370+
{
2371+
std::vector<std::string> result = SplitString("--", '-');
2372+
BOOST_CHECK_EQUAL(result.size(), 3);
2373+
BOOST_CHECK_EQUAL(result[0], "");
2374+
BOOST_CHECK_EQUAL(result[1], "");
2375+
BOOST_CHECK_EQUAL(result[2], "");
2376+
}
2377+
2378+
// Separator is not present.
2379+
{
2380+
std::vector<std::string> result = SplitString("abc", '-');
2381+
BOOST_CHECK_EQUAL(result.size(), 1);
2382+
BOOST_CHECK_EQUAL(result[0], "abc");
2383+
}
2384+
2385+
// Basic behavior.
2386+
{
2387+
std::vector<std::string> result = SplitString("a-b", '-');
2388+
BOOST_CHECK_EQUAL(result.size(), 2);
2389+
BOOST_CHECK_EQUAL(result[0], "a");
2390+
BOOST_CHECK_EQUAL(result[1], "b");
2391+
}
2392+
2393+
// Case-sensitivity of the separator.
2394+
{
2395+
std::vector<std::string> result = SplitString("AAA", 'a');
2396+
BOOST_CHECK_EQUAL(result.size(), 1);
2397+
BOOST_CHECK_EQUAL(result[0], "AAA");
2398+
}
2399+
}
2400+
23522401
BOOST_AUTO_TEST_CASE(test_LogEscapeMessage)
23532402
{
23542403
// ASCII and UTF-8 must pass through unaltered.

0 commit comments

Comments
 (0)