diff options
Diffstat (limited to 'test/common/StringTest.cpp')
-rw-r--r-- | test/common/StringTest.cpp | 41 |
1 files changed, 31 insertions, 10 deletions
diff --git a/test/common/StringTest.cpp b/test/common/StringTest.cpp index 737a93ad..0a60e729 100644 --- a/test/common/StringTest.cpp +++ b/test/common/StringTest.cpp @@ -70,14 +70,35 @@ TEST(String, SplitToLinesRemoveSpaceLine) { ASSERT_EQ(lines[2], String(u"ghi")); } -TEST(String, ParseToFloat) { - using cru::String; - ASSERT_EQ(String(u"3.14159").ParseToDouble(), 3.14159); - ASSERT_EQ(String(u" 3.14159").ParseToDouble(), 3.14159); - ASSERT_EQ(String(u" 3.14159 ").ParseToDouble(), 3.14159); - - cru::Index processed_char_count = 0; - ASSERT_EQ(String(u" 3.14159 garbege").ParseToDouble(&processed_char_count), - 3.14159); - ASSERT_EQ(processed_char_count, 9); +TEST(StringView, ToUtf8) { + using cru::StringView; + StringView utf16_text = u"aπ你🤣!"; + std::string_view utf8_text = "aπ你🤣!"; + + ASSERT_EQ(utf16_text.ToUtf8(), utf8_text); +} + +TEST(String, FromUtf8) { + std::u16string_view utf16_text = u"aπ你🤣!"; + std::string_view utf8_text = "aπ你🤣!"; + + ASSERT_EQ(cru::String::FromUtf8(utf8_text), utf16_text); +} + +TEST(StringView, ParseToDouble) { + using cru::StringView; + ASSERT_EQ(StringView(u"3.14159").ParseToDouble(), 3.14159); + ASSERT_EQ(StringView(u" 3.14159").ParseToDouble(), 3.14159); + ASSERT_EQ(StringView(u" 3.14159 ").ParseToDouble(), 3.14159); +} + +TEST(String, ParseToDoubleList) { + using cru::StringView; + + auto list = StringView(u" 1.23 2.34 3.45 ").ParseToDoubleList(); + + ASSERT_EQ(list.size(), 3); + ASSERT_EQ(list[0], 1.23); + ASSERT_EQ(list[1], 2.34); + ASSERT_EQ(list[2], 3.45); } |