🔨 trying to make tests run with MSVC #1031
This commit is contained in:
parent
ab89ae4e50
commit
727dd4664b
1 changed files with 18 additions and 10 deletions
|
@ -32,21 +32,29 @@ SOFTWARE.
|
|||
|
||||
using nlohmann::json;
|
||||
|
||||
// from https://www.reddit.com/r/cpp/comments/75gohf/i_just_found_a_use_for_the_poop_emoji_in_c/
|
||||
constexpr bool compiler_supports_utf8();
|
||||
constexpr bool compiler_supports_utf8()
|
||||
bool wstring_is_utf16();
|
||||
bool wstring_is_utf16()
|
||||
{
|
||||
return (static_cast<unsigned char>("💩"[0]) == 0xF0) and
|
||||
(static_cast<unsigned char>("💩"[1]) == 0x9F) and
|
||||
(static_cast<unsigned char>("💩"[2]) == 0x92) and
|
||||
(static_cast<unsigned char>("💩"[3]) == 0xA9);
|
||||
return (std::wstring(L"💩") == std::wstring(L"\U0001F4A9"));
|
||||
}
|
||||
|
||||
bool u16string_is_utf16();
|
||||
bool u16string_is_utf16()
|
||||
{
|
||||
return (std::u16string(u"💩") == std::u16string(u"\U0001F4A9"));
|
||||
}
|
||||
|
||||
bool u32string_is_utf32();
|
||||
bool u32string_is_utf32()
|
||||
{
|
||||
return (std::u32string(U"💩") == std::u32string(U"\U0001F4A9"));
|
||||
}
|
||||
|
||||
TEST_CASE("wide strings")
|
||||
{
|
||||
SECTION("std::wstring")
|
||||
{
|
||||
if (compiler_supports_utf8())
|
||||
if (wstring_is_utf16())
|
||||
{
|
||||
std::wstring w = L"[12.2,\"Ⴥaäö💤🧢\"]";
|
||||
json j = json::parse(w);
|
||||
|
@ -56,7 +64,7 @@ TEST_CASE("wide strings")
|
|||
|
||||
SECTION("std::u16string")
|
||||
{
|
||||
if (compiler_supports_utf8())
|
||||
if (u16string_is_utf16())
|
||||
{
|
||||
std::u16string w = u"[12.2,\"Ⴥaäö💤🧢\"]";
|
||||
json j = json::parse(w);
|
||||
|
@ -66,7 +74,7 @@ TEST_CASE("wide strings")
|
|||
|
||||
SECTION("std::u32string")
|
||||
{
|
||||
if (compiler_supports_utf8())
|
||||
if (u32string_is_utf32())
|
||||
{
|
||||
std::u32string w = U"[12.2,\"Ⴥaäö💤🧢\"]";
|
||||
json j = json::parse(w);
|
||||
|
|
Loading…
Reference in a new issue