From 53468284883030fff8667fee67c3ba73b8f2c260 Mon Sep 17 00:00:00 2001 From: "arseny.kapoulkine" Date: Fri, 30 Oct 2009 20:06:00 +0000 Subject: tests: Minor fixes, added autotest script git-svn-id: http://pugixml.googlecode.com/svn/trunk@196 99668b35-9821-0410-8761-19e4c4f06640 --- tests/test_unicode.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'tests/test_unicode.cpp') 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(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 -- cgit v1.2.3