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/textTest.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/textTest.cpp')
-rw-r--r-- | tests/parser/textTest.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/parser/textTest.cpp b/tests/parser/textTest.cpp index 274687a5..f56f972d 100644 --- a/tests/parser/textTest.cpp +++ b/tests/parser/textTest.cpp @@ -23,6 +23,9 @@ #include "tests/testUtils.hpp" +#include <locale> +#include <clocale> + VMIME_TEST_SUITE_BEGIN(textTest) @@ -78,6 +81,27 @@ VMIME_TEST_SUITE_BEGIN(textTest) } + 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 testConstructors() { vmime::text t1; |