@@ -173,6 +173,22 @@ BOOST_AUTO_TEST_CASE(util_Join)
173173 BOOST_CHECK_EQUAL (Join<std::string>({" foo" , " bar" }, " , " , op_upper), " FOO, BAR" );
174174}
175175
176+ BOOST_AUTO_TEST_CASE (util_TrimString)
177+ {
178+ BOOST_CHECK_EQUAL (TrimString (" foo bar " ), " foo bar" );
179+ BOOST_CHECK_EQUAL (TrimString (" \t \n \n \f\n\r\t\v\t foo \n \f\n\r\t\v\t bar\t \n \f\n\r\t\v\t\n " ), " foo \n \f\n\r\t\v\t bar" );
180+ BOOST_CHECK_EQUAL (TrimString (" \t \n foo \n\t bar\t \n " ), " foo \n\t bar" );
181+ BOOST_CHECK_EQUAL (TrimString (" \t \n foo \n\t bar\t \n " , " fobar" ), " \t \n foo \n\t bar\t \n " );
182+ BOOST_CHECK_EQUAL (TrimString (" foo bar" ), " foo bar" );
183+ BOOST_CHECK_EQUAL (TrimString (" foo bar" , " fobar" ), " " );
184+ BOOST_CHECK_EQUAL (TrimString (std::string (" \0 foo \0 " , 8 )), std::string (" \0 foo \0 " , 7 ));
185+ BOOST_CHECK_EQUAL (TrimString (std::string (" foo " , 5 )), std::string (" foo" , 3 ));
186+ BOOST_CHECK_EQUAL (TrimString (std::string (" \t\t\0\0\n\n " , 6 )), std::string (" \0\0 " , 2 ));
187+ BOOST_CHECK_EQUAL (TrimString (std::string (" \x05\x04\x03\x02\x01\x00 " , 6 )), std::string (" \x05\x04\x03\x02\x01\x00 " , 6 ));
188+ BOOST_CHECK_EQUAL (TrimString (std::string (" \x05\x04\x03\x02\x01\x00 " , 6 ), std::string (" \x05\x04\x03\x02\x01 " , 5 )), std::string (" \0 " , 1 ));
189+ BOOST_CHECK_EQUAL (TrimString (std::string (" \x05\x04\x03\x02\x01\x00 " , 6 ), std::string (" \x05\x04\x03\x02\x01\x00 " , 6 )), " " );
190+ }
191+
176192BOOST_AUTO_TEST_CASE (util_FormatParseISO8601DateTime)
177193{
178194 BOOST_CHECK_EQUAL (FormatISO8601DateTime (1317425777 ), " 2011-09-30T23:36:17Z" );
0 commit comments