Skip to content

Commit e531eb8

Browse files
committed
Add tests for RTL languages and special characters in wide strings
Signed-off-by: TheUserWW <wcx1615471430@outlook.com>
1 parent 9a73748 commit e531eb8

1 file changed

Lines changed: 37 additions & 0 deletions

File tree

tests/src/unit-wstring.cpp

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,18 @@ TEST_CASE("wide strings")
4343
std::wstring const w = L"[12.2,\"Ⴥaäö💤🧢\"]";
4444
json const j = json::parse(w);
4545
CHECK(j.dump() == "[12.2,\"Ⴥaäö💤🧢\"]");
46+
47+
std::wstring const special_chars = L"["
48+
"\"مرحبا بالعالم\", "
49+
"\"שלום עולם\", "
50+
"\"你好世界\", "
51+
"\"こんにちは\", "
52+
"\"नमस्ते दुनिया\", "
53+
"\"السَّلَامُ عَلَيْكُمْ\", "
54+
"\"שָׁלוֹם\", "
55+
"\"안녕하세요 세계\"" L"]";
56+
json const j_special = json::parse(special_chars);
57+
CHECK(j_special.dump() == "[\"مرحبا بالعالم\", \"שלום עולם\", \"你好世界\", \"こんにちは\", \"नमस्ते दुनिया\", \"السَّلَامُ عَلَيْكُمْ\", \"שָׁלוֹם\", \"안녕하세요 세계\"]");
4658
}
4759
}
4860

@@ -63,6 +75,19 @@ TEST_CASE("wide strings")
6375
std::u16string const w = u"[12.2,\"Ⴥaäö💤🧢\"]";
6476
json const j = json::parse(w);
6577
CHECK(j.dump() == "[12.2,\"Ⴥaäö💤🧢\"]");
78+
79+
80+
std::u16string const special_chars = u"["
81+
"\"مرحبا بالعالم\", "
82+
"\"שלום עולם\", "
83+
"\"你好世界\", "
84+
"\"こんにちは\", "
85+
"\"नमस्ते दुनिया\", "
86+
"\"السَّلَامُ عَلَيْكُمْ\", "
87+
"\"שָׁלוֹם\", "
88+
"\"안녕하세요 세계\"" "]";
89+
json const j_special = json::parse(special_chars);
90+
CHECK(j_special.dump() == "[\"مرحبا بالعالم\", \"שלום עולם\", \"你好世界\", \"こんにちは\", \"नमस्ते दुनिया\", \"السَّلَامُ عَلَيْكُمْ\", \"שָׁלוֹם\", \"안녕하세요 세계\"]");
6691
}
6792
}
6893

@@ -83,6 +108,18 @@ TEST_CASE("wide strings")
83108
std::u32string const w = U"[12.2,\"Ⴥaäö💤🧢\"]";
84109
json const j = json::parse(w);
85110
CHECK(j.dump() == "[12.2,\"Ⴥaäö💤🧢\"]");
111+
112+
std::u32string const special_chars = U"["
113+
"\"مرحبا بالعالم\", "
114+
"\"שלום עולם\", "
115+
"\"你好世界\", "
116+
"\"こんにちは\", "
117+
"\"नमस्ते दुनिया\", "
118+
"\"السَّلَامُ عَلَيْكُمْ\", "
119+
"\"שָׁלוֹם\", "
120+
"\"안녕하세요 세계\"" "]";
121+
json const j_special = json::parse(special_chars);
122+
CHECK(j_special.dump() == "[\"مرحبا بالعالم\", \"שלום עולם\", \"你好世界\", \"こんにちは\", \"नमस्ते दुनिया\", \"السَّلَامُ عَلَيْكُمْ\", \"שָׁלוֹם\", \"안녕하세요 세계\"]");
86123
}
87124
}
88125

0 commit comments

Comments
 (0)