From 490b3a654796ba780bcd721338bf2a8057788c40 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Sat, 2 Jul 2011 08:59:55 +0000 Subject: [PATCH] Merge ICU testing fixes from Trunk. Authorized by Daniel James. [SVN r72846] --- test/regress/main.cpp | 17 +++++++++++++++++ test/regress/test_unicode.cpp | 4 ++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/test/regress/main.cpp b/test/regress/main.cpp index 85ece016..0fcd0921 100644 --- a/test/regress/main.cpp +++ b/test/regress/main.cpp @@ -20,6 +20,10 @@ #include "test_locale.hpp" #include +#ifdef BOOST_HAS_ICU +#include +#endif + #ifdef TEST_THREADS #include #include @@ -82,6 +86,19 @@ void run_tests() int cpp_main(int /*argc*/, char * /*argv*/[]) { +#ifdef BOOST_HAS_ICU + // + // We need to set the default locale used by ICU, + // otherwise some of our tests using equivalence classes fail. + // + UErrorCode err = U_ZERO_ERROR; + uloc_setDefault("en", &err); + if(err != U_ZERO_ERROR) + { + std::cerr << "Unable to set the default ICU locale to \"en\"." << std::endl; + return -1; + } +#endif #ifdef TEST_THREADS try{ get_array_data(); // initialises data. diff --git a/test/regress/test_unicode.cpp b/test/regress/test_unicode.cpp index f84aa3ab..eed5b456 100644 --- a/test/regress/test_unicode.cpp +++ b/test/regress/test_unicode.cpp @@ -75,8 +75,8 @@ void test_unicode() TEST_REGEX_CLASS_U(Non-Spacing Mark, 20EA); TEST_REGEX_CLASS_U(Mc, 1938); TEST_REGEX_CLASS_U(Spacing Combining Mark, 1938); - TEST_REGEX_CLASS_U(Me, 06DE); - TEST_REGEX_CLASS_U(Enclosing Mark, 06DE); + TEST_REGEX_CLASS_U(Me, 0488); + TEST_REGEX_CLASS_U(Enclosing Mark, 0488); TEST_REGEX_CLASS_U(N*, 0669); TEST_REGEX_CLASS_U(Number, 0669); TEST_REGEX_CLASS_U(Nd, 0669);