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);