forked from boostorg/algorithm
Still more tests for string_ref
[SVN r81903]
This commit is contained in:
@ -26,6 +26,20 @@ void interop ( const std::string &str, string_ref ref ) {
|
|||||||
BOOST_CHECK ( std::equal ( str.rbegin (), str.rend (), ref.rbegin ()));
|
BOOST_CHECK ( std::equal ( str.rbegin (), str.rend (), ref.rbegin ()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void null_tests ( const char *p ) {
|
||||||
|
// All zero-length string-refs should be equal
|
||||||
|
string_ref sr1; // NULL, 0
|
||||||
|
string_ref sr2 ( NULL, 0 );
|
||||||
|
string_ref sr3 ( p, 0 );
|
||||||
|
string_ref sr4 ( p );
|
||||||
|
sr4.clear ();
|
||||||
|
|
||||||
|
BOOST_CHECK ( sr1 == sr2 );
|
||||||
|
BOOST_CHECK ( sr1 == sr3 );
|
||||||
|
BOOST_CHECK ( sr2 == sr3 );
|
||||||
|
BOOST_CHECK ( sr1 == sr4 );
|
||||||
|
}
|
||||||
|
|
||||||
// make sure that substrings work just like strings
|
// make sure that substrings work just like strings
|
||||||
void test_substr ( const std::string &str ) {
|
void test_substr ( const std::string &str ) {
|
||||||
const size_t sz = str.size ();
|
const size_t sz = str.size ();
|
||||||
@ -83,11 +97,11 @@ const char *test_strings [] = {
|
|||||||
int test_main( int , char* [] ) {
|
int test_main( int , char* [] ) {
|
||||||
|
|
||||||
const char **p = &test_strings[0];
|
const char **p = &test_strings[0];
|
||||||
|
|
||||||
while ( *p != NULL ) {
|
while ( *p != NULL ) {
|
||||||
interop ( *p, *p );
|
interop ( *p, *p );
|
||||||
test_substr ( *p );
|
test_substr ( *p );
|
||||||
test_remove ( *p );
|
test_remove ( *p );
|
||||||
|
|
||||||
p++;
|
p++;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user