@@ -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+
23522401BOOST_AUTO_TEST_CASE (test_LogEscapeMessage)
23532402{
23542403 // ASCII and UTF-8 must pass through unaltered.
0 commit comments