@@ -2349,6 +2349,55 @@ BOOST_AUTO_TEST_CASE(test_spanparsing)
2349
2349
BOOST_CHECK_EQUAL (SpanToStr (results[3 ]), " " );
2350
2350
}
2351
2351
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
+
2352
2401
BOOST_AUTO_TEST_CASE (test_LogEscapeMessage)
2353
2402
{
2354
2403
// ASCII and UTF-8 must pass through unaltered.
0 commit comments