Expand Up
@@ -174,3 +174,111 @@ TEST(LlvmLibcStringViewTest, FindLastOf) {
ASSERT_EQ (Empty1.find_last_of (' a' , 0 ), string_view::npos);
ASSERT_EQ (Empty1.find_last_of (' a' , 123 ), string_view::npos);
}
TEST (LlvmLibcStringViewTest, FindFirstNotOf) {
string_view Tmp (" abada" );
EXPECT_EQ (Tmp.find_first_not_of (' a' ), size_t (1 ));
EXPECT_EQ (Tmp.find_first_not_of (' a' , 123 ), string_view::npos);
EXPECT_EQ (Tmp.find_first_not_of (' a' , 5 ), string_view::npos);
EXPECT_EQ (Tmp.find_first_not_of (' a' , 4 ), string_view::npos);
EXPECT_EQ (Tmp.find_first_not_of (' a' , 3 ), size_t (3 ));
EXPECT_EQ (Tmp.find_first_not_of (' a' , 2 ), size_t (3 ));
EXPECT_EQ (Tmp.find_first_not_of (' a' , 1 ), size_t (1 ));
EXPECT_EQ (Tmp.find_first_not_of (' a' , 0 ), size_t (1 ));
EXPECT_EQ (Tmp.find_first_not_of (' b' ), size_t (0 ));
EXPECT_EQ (Tmp.find_first_not_of (' b' , 123 ), string_view::npos);
EXPECT_EQ (Tmp.find_first_not_of (' b' , 5 ), string_view::npos);
EXPECT_EQ (Tmp.find_first_not_of (' b' , 4 ), size_t (4 ));
EXPECT_EQ (Tmp.find_first_not_of (' b' , 3 ), size_t (3 ));
EXPECT_EQ (Tmp.find_first_not_of (' b' , 2 ), size_t (2 ));
EXPECT_EQ (Tmp.find_first_not_of (' b' , 1 ), size_t (2 ));
EXPECT_EQ (Tmp.find_first_not_of (' b' , 0 ), size_t (0 ));
EXPECT_EQ (Tmp.find_first_not_of (' d' ), size_t (0 ));
EXPECT_EQ (Tmp.find_first_not_of (' d' , 123 ), string_view::npos);
EXPECT_EQ (Tmp.find_first_not_of (' d' , 5 ), string_view::npos);
EXPECT_EQ (Tmp.find_first_not_of (' d' , 4 ), size_t (4 ));
EXPECT_EQ (Tmp.find_first_not_of (' d' , 3 ), size_t (4 ));
EXPECT_EQ (Tmp.find_first_not_of (' d' , 2 ), size_t (2 ));
EXPECT_EQ (Tmp.find_first_not_of (' d' , 1 ), size_t (1 ));
EXPECT_EQ (Tmp.find_first_not_of (' d' , 0 ), size_t (0 ));
EXPECT_EQ (Tmp.find_first_not_of (' e' ), size_t (0 ));
EXPECT_EQ (Tmp.find_first_not_of (' e' , 123 ), string_view::npos);
EXPECT_EQ (Tmp.find_first_not_of (' e' , 5 ), string_view::npos);
EXPECT_EQ (Tmp.find_first_not_of (' e' , 4 ), size_t (4 ));
EXPECT_EQ (Tmp.find_first_not_of (' e' , 3 ), size_t (3 ));
EXPECT_EQ (Tmp.find_first_not_of (' e' , 2 ), size_t (2 ));
EXPECT_EQ (Tmp.find_first_not_of (' e' , 1 ), size_t (1 ));
EXPECT_EQ (Tmp.find_first_not_of (' e' , 0 ), size_t (0 ));
string_view Empty;
EXPECT_EQ (Empty.find_first_not_of (' a' ), string_view::npos);
EXPECT_EQ (Empty.find_first_not_of (' a' , 0 ), string_view::npos);
EXPECT_EQ (Empty.find_first_not_of (' a' , 123 ), string_view::npos);
string_view Empty1 (" " );
EXPECT_EQ (Empty1.find_first_not_of (' a' ), string_view::npos);
EXPECT_EQ (Empty1.find_first_not_of (' a' , 0 ), string_view::npos);
EXPECT_EQ (Empty1.find_first_not_of (' a' , 123 ), string_view::npos);
string_view Full (" aaaaaaa" );
EXPECT_EQ (Full.find_first_not_of (' a' ), string_view::npos);
EXPECT_EQ (Full.find_first_not_of (' a' , 0 ), string_view::npos);
EXPECT_EQ (Full.find_first_not_of (' a' , 123 ), string_view::npos);
EXPECT_EQ (Full.find_first_not_of (' b' ), size_t (0 ));
EXPECT_EQ (Full.find_first_not_of (' b' , 0 ), size_t (0 ));
EXPECT_EQ (Full.find_first_not_of (' b' , 123 ), string_view::npos);
}
TEST (LlvmLibcStringViewTest, Contains) {
string_view Empty;
for (char c = ' a' ; c < ' z' ; ++c)
EXPECT_FALSE (Empty.contains (c));
string_view Tmp (" abada" );
EXPECT_TRUE (Tmp.contains (' a' ));
EXPECT_TRUE (Tmp.contains (' b' ));
EXPECT_FALSE (Tmp.contains (' c' ));
EXPECT_TRUE (Tmp.contains (' d' ));
EXPECT_FALSE (Tmp.contains (' e' ));
EXPECT_TRUE (Tmp.substr (1 ).contains (' a' ));
EXPECT_TRUE (Tmp.substr (1 ).contains (' b' ));
EXPECT_FALSE (Tmp.substr (1 ).contains (' c' ));
EXPECT_TRUE (Tmp.substr (1 ).contains (' d' ));
EXPECT_FALSE (Tmp.substr (1 ).contains (' e' ));
EXPECT_TRUE (Tmp.substr (2 ).contains (' a' ));
EXPECT_FALSE (Tmp.substr (2 ).contains (' b' ));
EXPECT_FALSE (Tmp.substr (2 ).contains (' c' ));
EXPECT_TRUE (Tmp.substr (2 ).contains (' d' ));
EXPECT_FALSE (Tmp.substr (2 ).contains (' e' ));
EXPECT_TRUE (Tmp.substr (3 ).contains (' a' ));
EXPECT_FALSE (Tmp.substr (3 ).contains (' b' ));
EXPECT_FALSE (Tmp.substr (3 ).contains (' c' ));
EXPECT_TRUE (Tmp.substr (3 ).contains (' d' ));
EXPECT_FALSE (Tmp.substr (3 ).contains (' e' ));
EXPECT_TRUE (Tmp.substr (4 ).contains (' a' ));
EXPECT_FALSE (Tmp.substr (4 ).contains (' b' ));
EXPECT_FALSE (Tmp.substr (4 ).contains (' c' ));
EXPECT_FALSE (Tmp.substr (4 ).contains (' d' ));
EXPECT_FALSE (Tmp.substr (4 ).contains (' e' ));
EXPECT_FALSE (Tmp.substr (5 ).contains (' a' ));
EXPECT_FALSE (Tmp.substr (5 ).contains (' b' ));
EXPECT_FALSE (Tmp.substr (5 ).contains (' c' ));
EXPECT_FALSE (Tmp.substr (5 ).contains (' d' ));
EXPECT_FALSE (Tmp.substr (5 ).contains (' e' ));
EXPECT_FALSE (Tmp.substr (6 ).contains (' a' ));
EXPECT_FALSE (Tmp.substr (6 ).contains (' b' ));
EXPECT_FALSE (Tmp.substr (6 ).contains (' c' ));
EXPECT_FALSE (Tmp.substr (6 ).contains (' d' ));
EXPECT_FALSE (Tmp.substr (6 ).contains (' e' ));
}