diff options
author | crupest <crupest@outlook.com> | 2020-07-05 23:06:02 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2020-07-05 23:06:02 +0800 |
commit | 5c805e494425a88da1813902b1ad8a1ab351e30d (patch) | |
tree | be3cfd96dcac19db3e256d610d48b5083c489a6c /test | |
parent | bbec59718bf8a824583869126762013112f8e568 (diff) | |
download | cru-5c805e494425a88da1813902b1ad8a1ab351e30d.tar.gz cru-5c805e494425a88da1813902b1ad8a1ab351e30d.tar.bz2 cru-5c805e494425a88da1813902b1ad8a1ab351e30d.zip |
...
Diffstat (limited to 'test')
-rw-r--r-- | test/CMakeLists.txt | 2 | ||||
-rw-r--r-- | test/common/CMakeLists.txt | 6 | ||||
-rw-r--r-- | test/common/StringUtilTest.cpp | 53 | ||||
-rw-r--r-- | test/win/CMakeLists.txt | 6 | ||||
-rw-r--r-- | test/win/String.cpp | 53 |
5 files changed, 60 insertions, 60 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index d41e3467..c534b909 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -2,7 +2,7 @@ find_package(GTest CONFIG REQUIRED) include(GoogleTest) -add_subdirectory(win) +add_subdirectory(common) add_library(cru_test_base INTERFACE) target_link_libraries(cru_test_base INTERFACE GTest::gtest GTest::gtest_main) diff --git a/test/common/CMakeLists.txt b/test/common/CMakeLists.txt new file mode 100644 index 00000000..c1fd078d --- /dev/null +++ b/test/common/CMakeLists.txt @@ -0,0 +1,6 @@ +add_executable(cru_base_test + StringUtilTest.cpp +) +target_link_libraries(cru_base_test PRIVATE cru_base cru_test_base) + +gtest_discover_tests(cru_base_test) diff --git a/test/common/StringUtilTest.cpp b/test/common/StringUtilTest.cpp new file mode 100644 index 00000000..e454505b --- /dev/null +++ b/test/common/StringUtilTest.cpp @@ -0,0 +1,53 @@ +#include "cru/common/StringUtil.hpp" + +#include <gtest/gtest.h> + +using cru::k_invalid_code_point; + +// TEST(WinString, Utf8Iterator) { +// using cru::platform::win::Utf8Iterator; +// std::string_view text = "aπ你🤣!"; +// Utf8Iterator i{text}; +// ASSERT_EQ(i.Next(), 0x0061); +// ASSERT_EQ(i.Next(), 0x03C0); +// ASSERT_EQ(i.Next(), 0x4F60); +// ASSERT_EQ(i.Next(), 0x1F923); +// ASSERT_EQ(i.Next(), 0x0021); +// ASSERT_EQ(i.Next(), k_invalid_code_point); +// } + +TEST(WinString, Utf16Iterator) { + using cru::Utf16Iterator; + std::u16string_view text = u"aπ你🤣!"; + Utf16Iterator i{text}; + ASSERT_EQ(i.Next(), 0x0061); + ASSERT_EQ(i.Next(), 0x03C0); + ASSERT_EQ(i.Next(), 0x4F60); + ASSERT_EQ(i.Next(), 0x1F923); + ASSERT_EQ(i.Next(), 0x0021); + ASSERT_EQ(i.Next(), k_invalid_code_point); +} + +// TEST(WinString, IndexUtf8ToUtf16) { +// using cru::platform::win::IndexUtf8ToUtf16; +// std::string_view utf8_string = "aπ你🤣!"; +// std::wstring_view utf16_string = L"aπ你🤣!"; +// ASSERT_EQ(IndexUtf8ToUtf16(utf8_string, 0, utf16_string), 0); +// ASSERT_EQ(IndexUtf8ToUtf16(utf8_string, 1, utf16_string), 1); +// ASSERT_EQ(IndexUtf8ToUtf16(utf8_string, 3, utf16_string), 2); +// ASSERT_EQ(IndexUtf8ToUtf16(utf8_string, 6, utf16_string), 3); +// ASSERT_EQ(IndexUtf8ToUtf16(utf8_string, 10, utf16_string), 5); +// ASSERT_EQ(IndexUtf8ToUtf16(utf8_string, 11, utf16_string), 6); +// } + +// TEST(WinString, IndexUtf16ToUtf8) { +// using cru::platform::win::IndexUtf16ToUtf8; +// std::string_view utf8_string = "aπ你🤣!"; +// std::wstring_view utf16_string = L"aπ你🤣!"; +// ASSERT_EQ(IndexUtf16ToUtf8(utf16_string, 0, utf8_string), 0); +// ASSERT_EQ(IndexUtf16ToUtf8(utf16_string, 1, utf8_string), 1); +// ASSERT_EQ(IndexUtf16ToUtf8(utf16_string, 2, utf8_string), 3); +// ASSERT_EQ(IndexUtf16ToUtf8(utf16_string, 3, utf8_string), 6); +// ASSERT_EQ(IndexUtf16ToUtf8(utf16_string, 5, utf8_string), 10); +// ASSERT_EQ(IndexUtf16ToUtf8(utf16_string, 6, utf8_string), 11); +// } diff --git a/test/win/CMakeLists.txt b/test/win/CMakeLists.txt deleted file mode 100644 index 138af96b..00000000 --- a/test/win/CMakeLists.txt +++ /dev/null @@ -1,6 +0,0 @@ -add_executable(cru_test_win_base - String.cpp -) -target_link_libraries(cru_test_win_base PRIVATE cru_win_base cru_test_base) - -gtest_discover_tests(cru_test_win_base) diff --git a/test/win/String.cpp b/test/win/String.cpp deleted file mode 100644 index a666dc81..00000000 --- a/test/win/String.cpp +++ /dev/null @@ -1,53 +0,0 @@ -#include "cru/win/String.hpp" - -#include <gtest/gtest.h> - -using cru::platform::win::k_code_point_end; - -TEST(WinString, Utf8Iterator) { - using cru::platform::win::Utf8Iterator; - std::string_view text = "aπ你🤣!"; - Utf8Iterator i{text}; - ASSERT_EQ(i.Next(), 0x0061); - ASSERT_EQ(i.Next(), 0x03C0); - ASSERT_EQ(i.Next(), 0x4F60); - ASSERT_EQ(i.Next(), 0x1F923); - ASSERT_EQ(i.Next(), 0x0021); - ASSERT_EQ(i.Next(), k_code_point_end); -} - -TEST(WinString, Utf16Iterator) { - using cru::platform::win::Utf16Iterator; - std::wstring_view text = L"aπ你🤣!"; - Utf16Iterator i{text}; - ASSERT_EQ(i.Next(), 0x0061); - ASSERT_EQ(i.Next(), 0x03C0); - ASSERT_EQ(i.Next(), 0x4F60); - ASSERT_EQ(i.Next(), 0x1F923); - ASSERT_EQ(i.Next(), 0x0021); - ASSERT_EQ(i.Next(), k_code_point_end); -} - -TEST(WinString, IndexUtf8ToUtf16) { - using cru::platform::win::IndexUtf8ToUtf16; - std::string_view utf8_string = "aπ你🤣!"; - std::wstring_view utf16_string = L"aπ你🤣!"; - ASSERT_EQ(IndexUtf8ToUtf16(utf8_string, 0, utf16_string), 0); - ASSERT_EQ(IndexUtf8ToUtf16(utf8_string, 1, utf16_string), 1); - ASSERT_EQ(IndexUtf8ToUtf16(utf8_string, 3, utf16_string), 2); - ASSERT_EQ(IndexUtf8ToUtf16(utf8_string, 6, utf16_string), 3); - ASSERT_EQ(IndexUtf8ToUtf16(utf8_string, 10, utf16_string), 5); - ASSERT_EQ(IndexUtf8ToUtf16(utf8_string, 11, utf16_string), 6); -} - -TEST(WinString, IndexUtf16ToUtf8) { - using cru::platform::win::IndexUtf16ToUtf8; - std::string_view utf8_string = "aπ你🤣!"; - std::wstring_view utf16_string = L"aπ你🤣!"; - ASSERT_EQ(IndexUtf16ToUtf8(utf16_string, 0, utf8_string), 0); - ASSERT_EQ(IndexUtf16ToUtf8(utf16_string, 1, utf8_string), 1); - ASSERT_EQ(IndexUtf16ToUtf8(utf16_string, 2, utf8_string), 3); - ASSERT_EQ(IndexUtf16ToUtf8(utf16_string, 3, utf8_string), 6); - ASSERT_EQ(IndexUtf16ToUtf8(utf16_string, 5, utf8_string), 10); - ASSERT_EQ(IndexUtf16ToUtf8(utf16_string, 6, utf8_string), 11); -} |