| 47 | } |
| 48 | |
| 49 | TEST(StringView, Basic) { |
| 50 | { |
| 51 | StringView sv; |
| 52 | EXPECT_EQ(sv.data(), nullptr); |
| 53 | EXPECT_EQ(sv.size(), 0); |
| 54 | } |
| 55 | { |
| 56 | const char* s = "Hello, World!"; |
| 57 | StringView sv(s); |
| 58 | EXPECT_EQ(sv.data(), s); |
| 59 | EXPECT_EQ(sv.size(), std::strlen(s)); |
| 60 | } |
| 61 | { |
| 62 | const char* s = "Hello, World!"; |
| 63 | StringView sv(s, std::strlen(s)); |
| 64 | EXPECT_EQ(sv.data(), s); |
| 65 | EXPECT_EQ(sv.size(), std::strlen(s)); |
| 66 | } |
| 67 | { |
| 68 | std::string s = "Hello, World!"; |
| 69 | StringView sv(s); |
| 70 | EXPECT_EQ(sv.data(), s.data()); |
| 71 | EXPECT_EQ(sv.size(), s.size()); |
| 72 | } |
| 73 | { |
| 74 | StringView s("Hello, World!"); |
| 75 | StringView sv(s); |
| 76 | EXPECT_EQ(sv.data(), s.data()); |
| 77 | EXPECT_EQ(sv.size(), s.size()); |
| 78 | } |
| 79 | |
| 80 | { // operator== |
| 81 | EXPECT_TRUE(string_view_cmp<OpType::EQ>("Hello", "Hello")); |
| 82 | EXPECT_FALSE(string_view_cmp<OpType::EQ>("Hell", "Hello")); |
| 83 | EXPECT_FALSE(string_view_cmp<OpType::EQ>("Hello", "Hell")); |
| 84 | } |
| 85 | { // operator!= |
| 86 | EXPECT_FALSE(string_view_cmp<OpType::NE>("Hello", "Hello")); |
| 87 | EXPECT_TRUE(string_view_cmp<OpType::NE>("Hell", "Hello")); |
| 88 | EXPECT_TRUE(string_view_cmp<OpType::NE>("Hello", "Hell")); |
| 89 | } |
| 90 | { // operator< |
| 91 | EXPECT_FALSE(string_view_cmp<OpType::LT>("Hello", "Hello")); |
| 92 | EXPECT_FALSE(string_view_cmp<OpType::LT>("Hello", "Hell")); |
| 93 | EXPECT_TRUE(string_view_cmp<OpType::LT>("Hell", "Hello")); |
| 94 | EXPECT_TRUE(string_view_cmp<OpType::LT>("Hello", "hello")); |
| 95 | EXPECT_FALSE(string_view_cmp<OpType::LT>("hello", "Hello")); |
| 96 | } |
| 97 | { // operator<= |
| 98 | EXPECT_TRUE(string_view_cmp<OpType::LE>("Hello", "Hello")); |
| 99 | EXPECT_FALSE(string_view_cmp<OpType::LE>("Hello", "Hell")); |
| 100 | EXPECT_TRUE(string_view_cmp<OpType::LE>("Hell", "Hello")); |
| 101 | EXPECT_TRUE(string_view_cmp<OpType::LE>("Hello", "hello")); |
| 102 | EXPECT_FALSE(string_view_cmp<OpType::LE>("hello", "Hello")); |
| 103 | } |
| 104 | { // operator> |
| 105 | EXPECT_FALSE(string_view_cmp<OpType::GT>("Hello", "Hello")); |
| 106 | EXPECT_TRUE(string_view_cmp<OpType::GT>("Hello", "Hell")); |
nothing calls this directly
no outgoing calls
no test coverage detected