@@ -59,6 +59,7 @@ TEST(StringRefTest, Construction) {
59
59
TEST (StringRefTest, Conversion) {
60
60
EXPECT_EQ (" hello" , std::string (StringRef (" hello" )));
61
61
EXPECT_EQ (" hello" , std::string_view (StringRef (" hello" )));
62
+ static_assert (std::string_view (StringRef (" hello" )) == " hello" );
62
63
}
63
64
64
65
TEST (StringRefTest, EmptyInitializerList) {
@@ -78,9 +79,22 @@ TEST(StringRefTest, Iteration) {
78
79
79
80
TEST (StringRefTest, StringOps) {
80
81
const char *p = " hello" ;
82
+
81
83
EXPECT_EQ (p, StringRef (p, 0 ).data ());
84
+ static_assert (StringRef (" hello" ).data ()[0 ] == ' h' );
85
+ static_assert (StringRef (" hello" ).data ()[1 ] == ' e' );
86
+ static_assert (StringRef (" hello" ).data ()[2 ] == ' l' );
87
+ static_assert (StringRef (" hello" ).data ()[3 ] == ' l' );
88
+ static_assert (StringRef (" hello" ).data ()[4 ] == ' o' );
89
+ static_assert (StringRef (" hello" ).data ()[5 ] == ' \0 ' );
90
+
82
91
EXPECT_TRUE (StringRef ().empty ());
92
+ static_assert (StringRef (" " ).empty ());
93
+ static_assert (!StringRef (" hello" ).empty ());
94
+
83
95
EXPECT_EQ ((size_t ) 5 , StringRef (" hello" ).size ());
96
+ static_assert (StringRef (" hello" ).size () == 5 );
97
+
84
98
EXPECT_GT ( 0 , StringRef (" aab" ).compare (" aad" ));
85
99
EXPECT_EQ ( 0 , StringRef (" aab" ).compare (" aab" ));
86
100
EXPECT_LT ( 0 , StringRef (" aab" ).compare (" aaa" ));
0 commit comments