From 31a4f1f1ea393d02f690c34afada455c1bd0a1b7 Mon Sep 17 00:00:00 2001 From: Alexander Kornienko Date: Wed, 7 Aug 2013 00:41:18 +0000 Subject: [PATCH] Disable tests on WIN32 (which has incorrect implementation of isPrint and columnWidth), and partially disable tests on MACOSX (which handles some characters differently). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187842 91177308-0d34-0410-b5e6-96231b3b80d8 --- unittests/Support/LocaleTest.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/unittests/Support/LocaleTest.cpp b/unittests/Support/LocaleTest.cpp index d48eb559f0e..cb973f02b98 100644 --- a/unittests/Support/LocaleTest.cpp +++ b/unittests/Support/LocaleTest.cpp @@ -15,6 +15,9 @@ namespace sys { namespace locale { namespace { +// FIXME: WIN32 implementation is incorrect. We should consider using the one +// from LocaleGeneric.inc for WIN32. +#ifndef _WIN32 TEST(Locale, columnWidth) { EXPECT_EQ(0, columnWidth("")); EXPECT_EQ(1, columnWidth(" ")); @@ -35,6 +38,9 @@ TEST(Locale, columnWidth) { EXPECT_EQ(3, columnWidth("q\344\270\200")); EXPECT_EQ(3, columnWidth("\314\200\340\270\201\344\270\200")); + // FIXME: MacOS implementation of columnWidth seems to not handle incorrect + // UTF-8 sequences. +#ifndef __MACOSX__ // Invalid UTF-8 strings, columnWidth should error out. EXPECT_EQ(-2, columnWidth("\344")); EXPECT_EQ(-2, columnWidth("\344\270")); @@ -52,6 +58,7 @@ TEST(Locale, columnWidth) { // characters. EXPECT_EQ(-2, columnWidth("\370\200\200\200\200")); // U+200000 EXPECT_EQ(-2, columnWidth("\374\200\200\200\200\200")); // U+4000000 +#endif // __MACOSX__ } TEST(Locale, isPrint) { @@ -66,10 +73,16 @@ TEST(Locale, isPrint) { EXPECT_EQ(false, isPrint(0x9F)); EXPECT_EQ(true, isPrint(0xAC)); + // FIXME: Figure out if we want to treat SOFT HYPHEN as printable character. +#ifndef __MACOSX__ EXPECT_EQ(false, isPrint(0xAD)); // SOFT HYPHEN +#endif // __MACOSX__ EXPECT_EQ(true, isPrint(0xAE)); + // MacOS implementation doesn't think it's printable. +#ifndef __MACOSX__ EXPECT_EQ(true, isPrint(0x0377)); // GREEK SMALL LETTER PAMPHYLIAN DIGAMMA +#endif // __MACOSX__ EXPECT_EQ(false, isPrint(0x0378)); // .. EXPECT_EQ(false, isPrint(0x0600)); // ARABIC NUMBER SIGN @@ -80,6 +93,8 @@ TEST(Locale, isPrint) { EXPECT_EQ(false, isPrint(0x10FFFF)); // noncharacter } +#endif // _WIN32 + } // namespace } // namespace locale } // namespace sys -- 2.34.1