William A. Kennington III | 4ef36e7 | 2019-06-27 12:48:59 -0700 | [diff] [blame] | 1 | #include <gtest/gtest.h> |
| 2 | #include <stdplus/util/string.hpp> |
| 3 | #include <string> |
| 4 | #include <string_view> |
| 5 | |
| 6 | namespace stdplus |
| 7 | { |
| 8 | namespace util |
| 9 | { |
| 10 | namespace |
| 11 | { |
| 12 | |
| 13 | using namespace std::string_literals; |
| 14 | using namespace std::string_view_literals; |
| 15 | |
William A. Kennington III | e172198 | 2021-02-23 03:15:01 -0800 | [diff] [blame^] | 16 | TEST(CStr, Basic) |
| 17 | { |
| 18 | std::string s1 = "a"; |
| 19 | EXPECT_EQ(s1, cStr(s1)); |
| 20 | const std::string s2 = "b"; |
| 21 | EXPECT_EQ(s2, cStr(s2)); |
| 22 | char s3[] = "c"; |
| 23 | EXPECT_EQ(s3, cStr(s3)); |
| 24 | const char* s4 = "d"; |
| 25 | EXPECT_EQ(s4, cStr(s4)); |
| 26 | } |
| 27 | |
William A. Kennington III | 4ef36e7 | 2019-06-27 12:48:59 -0700 | [diff] [blame] | 28 | TEST(StrCat, NoStr) |
| 29 | { |
| 30 | EXPECT_EQ("", strCat()); |
| 31 | } |
| 32 | |
| 33 | TEST(StrCat, SingleStr) |
| 34 | { |
| 35 | EXPECT_EQ("func", strCat("func")); |
| 36 | } |
| 37 | |
| 38 | TEST(StrCat, Multi) |
| 39 | { |
| 40 | EXPECT_EQ("func world test", strCat("func", " world"sv, " test"s)); |
| 41 | } |
| 42 | |
| 43 | TEST(StrCat, MoveStr) |
| 44 | { |
| 45 | EXPECT_EQ("func", strCat("func"s)); |
| 46 | EXPECT_EQ("func world", strCat("func"s, " world")); |
| 47 | } |
| 48 | |
| 49 | } // namespace |
| 50 | } // namespace util |
| 51 | } // namespace stdplus |