diff options
author | Vincent Richard <[email protected]> | 2014-01-15 23:27:51 +0000 |
---|---|---|
committer | Vincent Richard <[email protected]> | 2014-01-15 23:27:51 +0000 |
commit | ef892af6556724b6d04dfb1767dce132f9d97257 (patch) | |
tree | dee732540e681ad58c4f6835c2d960238bf20b26 /tests/parser/parameterTest.cpp | |
parent | Avoid calling charset::convert() if no conversion is needed. (diff) | |
download | vmime-ef892af6556724b6d04dfb1767dce132f9d97257.tar.gz vmime-ef892af6556724b6d04dfb1767dce132f9d97257.zip |
Do not make calls to setlocale() in a library. Use default user locale in tests and examples.
Diffstat (limited to 'tests/parser/parameterTest.cpp')
-rw-r--r-- | tests/parser/parameterTest.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/parser/parameterTest.cpp b/tests/parser/parameterTest.cpp index 3b0edebf..4f6f8677 100644 --- a/tests/parser/parameterTest.cpp +++ b/tests/parser/parameterTest.cpp @@ -23,6 +23,9 @@ #include "tests/testUtils.hpp" +#include <locale> +#include <clocale> + VMIME_TEST_SUITE_BEGIN(parameterTest) @@ -62,6 +65,27 @@ VMIME_TEST_SUITE_BEGIN(parameterTest) (p.getParameterAt(n)->getValue().getBuffer()) + void setUp() + { + // Set the global C and C++ locale to the user-configured locale. + // The locale should use UTF-8 encoding for these tests to run successfully. + try + { + std::locale::global(std::locale("")); + } + catch (std::exception &) + { + std::setlocale(LC_ALL, ""); + } + } + + void tearDown() + { + // Restore default locale + std::locale::global(std::locale("C")); + } + + void testParse() { // Simple parameter |