@@ -173,6 +173,22 @@ BOOST_AUTO_TEST_CASE(util_Join)
173
173
BOOST_CHECK_EQUAL (Join<std::string>({" foo" , " bar" }, " , " , op_upper), " FOO, BAR" );
174
174
}
175
175
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
+
176
192
BOOST_AUTO_TEST_CASE (util_FormatParseISO8601DateTime)
177
193
{
178
194
BOOST_CHECK_EQUAL (FormatISO8601DateTime (1317425777 ), " 2011-09-30T23:36:17Z" );
0 commit comments