summaryrefslogtreecommitdiff
path: root/tests/test_unicode.cpp
diff options
context:
space:
mode:
authorarseny.kapoulkine <arseny.kapoulkine@99668b35-9821-0410-8761-19e4c4f06640>2009-10-30 20:06:00 +0000
committerarseny.kapoulkine <arseny.kapoulkine@99668b35-9821-0410-8761-19e4c4f06640>2009-10-30 20:06:00 +0000
commit53468284883030fff8667fee67c3ba73b8f2c260 (patch)
tree5da7649aed1b5a1cb7abc37c208276c3d7730040 /tests/test_unicode.cpp
parenta70f6b1a70aa1c31cedd3659e070bc46a8722fc1 (diff)
tests: Minor fixes, added autotest script
git-svn-id: http://pugixml.googlecode.com/svn/trunk@196 99668b35-9821-0410-8761-19e4c4f06640
Diffstat (limited to 'tests/test_unicode.cpp')
-rw-r--r--tests/test_unicode.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/tests/test_unicode.cpp b/tests/test_unicode.cpp
index ce48edb..61e23aa 100644
--- a/tests/test_unicode.cpp
+++ b/tests/test_unicode.cpp
@@ -2,6 +2,10 @@
// letters taken from http://www.utf8-chartable.de/
+#ifdef __DMC__
+#define U_LITERALS // DMC does not understand \x01234 (it parses first three digits), but understands \u01234
+#endif
+
inline wchar_t wchar_cast(unsigned int value)
{
return static_cast<wchar_t>(value); // to avoid C4310 on MSVC
@@ -11,8 +15,12 @@ inline wchar_t wchar_cast(unsigned int value)
TEST(as_utf16)
{
// valid 1-byte, 2-byte and 3-byte inputs
+#ifdef U_LITERALS
+ CHECK(as_utf16("?\xd0\x80\xe2\x80\xbd") == L"?\u0400\u203D");
+#else
CHECK(as_utf16("?\xd0\x80\xe2\x80\xbd") == L"?\x0400\x203D");
-
+#endif
+
// invalid 1-byte input
CHECK(as_utf16("\xb0") == L" ");
@@ -28,7 +36,11 @@ TEST(as_utf16)
TEST(as_utf8)
{
// valid 1-byte, 2-byte and 3-byte outputs
+#ifdef U_LITERALS
+ CHECK(as_utf8(L"?\u0400\u203D") == "?\xd0\x80\xe2\x80\xbd");
+#else
CHECK(as_utf8(L"?\x0400\x203D") == "?\xd0\x80\xe2\x80\xbd");
+#endif
// valid 4-byte output
#if 0