diff --git a/libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/negative_sign.pass.cpp b/libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/negative_sign.pass.cpp --- a/libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/negative_sign.pass.cpp +++ b/libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/negative_sign.pass.cpp @@ -11,8 +11,6 @@ // REQUIRES: locale.ru_RU.UTF-8 // REQUIRES: locale.zh_CN.UTF-8 -// XFAIL: LIBCXX-WINDOWS-FIXME - // // class moneypunct_byname @@ -81,79 +79,90 @@ } #endif +#if defined(_WIN32) + std::string sign = "()"; + std::wstring wsign = L"()"; +#else + std::string sign = "-"; + std::wstring wsign = L"-"; +#endif { Fnf f(LOCALE_en_US_UTF_8, 1); - assert(f.negative_sign() == "-"); + assert(f.negative_sign() == sign); } { Fnt f(LOCALE_en_US_UTF_8, 1); - assert(f.negative_sign() == "-"); + assert(f.negative_sign() == sign); } #ifndef TEST_HAS_NO_WIDE_CHARACTERS { Fwf f(LOCALE_en_US_UTF_8, 1); - assert(f.negative_sign() == L"-"); + assert(f.negative_sign() == wsign); } { Fwt f(LOCALE_en_US_UTF_8, 1); - assert(f.negative_sign() == L"-"); + assert(f.negative_sign() == wsign); } #endif +#if defined(_WIN32) + sign = "-"; + wsign = L"-"; +#endif { Fnf f(LOCALE_fr_FR_UTF_8, 1); - assert(f.negative_sign() == "-"); + assert(f.negative_sign() == sign); } { Fnt f(LOCALE_fr_FR_UTF_8, 1); - assert(f.negative_sign() == "-"); + assert(f.negative_sign() == sign); } #ifndef TEST_HAS_NO_WIDE_CHARACTERS { Fwf f(LOCALE_fr_FR_UTF_8, 1); - assert(f.negative_sign() == L"-"); + assert(f.negative_sign() == wsign); } { Fwt f(LOCALE_fr_FR_UTF_8, 1); - assert(f.negative_sign() == L"-"); + assert(f.negative_sign() == wsign); } #endif { Fnf f(LOCALE_ru_RU_UTF_8, 1); - assert(f.negative_sign() == "-"); + assert(f.negative_sign() == sign); } { Fnt f(LOCALE_ru_RU_UTF_8, 1); - assert(f.negative_sign() == "-"); + assert(f.negative_sign() == sign); } #ifndef TEST_HAS_NO_WIDE_CHARACTERS { Fwf f(LOCALE_ru_RU_UTF_8, 1); - assert(f.negative_sign() == L"-"); + assert(f.negative_sign() == wsign); } { Fwt f(LOCALE_ru_RU_UTF_8, 1); - assert(f.negative_sign() == L"-"); + assert(f.negative_sign() == wsign); } #endif { Fnf f(LOCALE_zh_CN_UTF_8, 1); - assert(f.negative_sign() == "-"); + assert(f.negative_sign() == sign); } { Fnt f(LOCALE_zh_CN_UTF_8, 1); - assert(f.negative_sign() == "-"); + assert(f.negative_sign() == sign); } #ifndef TEST_HAS_NO_WIDE_CHARACTERS { Fwf f(LOCALE_zh_CN_UTF_8, 1); - assert(f.negative_sign() == L"-"); + assert(f.negative_sign() == wsign); } { Fwt f(LOCALE_zh_CN_UTF_8, 1); - assert(f.negative_sign() == L"-"); + assert(f.negative_sign() == wsign); } #endif