diff options
Diffstat (limited to 'lang')
| -rw-r--r-- | lang/CMakeLists.txt | 11 | ||||
| -rw-r--r-- | lang/tests/intl_test_init.cpp | 24 |
2 files changed, 33 insertions, 2 deletions
diff --git a/lang/CMakeLists.txt b/lang/CMakeLists.txt index 303abfe..1842615 100644 --- a/lang/CMakeLists.txt +++ b/lang/CMakeLists.txt @@ -52,13 +52,20 @@ add_dependencies("lang" "mofiles") # Tests add_executable("lang-tests" + "tests/intl_test_init.cpp" + "tests/messages.cpp" ) target_link_libraries("lang-tests" PRIVATE - "Catch2::Catch2" + "Catch2::Catch2WithMain" + "Intl::Intl" - "turns::intl-test-main" + "turns::lang" +) + +target_compile_definitions("lang-tests" PRIVATE + "TESTLOCALEDIR=\"${CMAKE_CURRENT_BINARY_DIR}\"" ) enable_coverage("lang-tests") diff --git a/lang/tests/intl_test_init.cpp b/lang/tests/intl_test_init.cpp new file mode 100644 index 0000000..6a79040 --- /dev/null +++ b/lang/tests/intl_test_init.cpp @@ -0,0 +1,24 @@ +#include <catch2/reporters/catch_reporter_event_listener.hpp> +#include <catch2/reporters/catch_reporter_registrars.hpp> + +#include <libintl.h> + +namespace turns::lang::tests +{ + + struct intl_test_init : Catch::EventListenerBase + { + using Catch::EventListenerBase::EventListenerBase; + + auto testRunStarting(Catch::TestRunInfo const &) -> void override + { + setlocale(LC_ALL, ""); + bindtextdomain("turns", TESTLOCALEDIR); + bind_textdomain_codeset("turns", "UTF-8"); + textdomain("turns"); + } + }; + + CATCH_REGISTER_LISTENER(intl_test_init); + +} // namespace turns::lang::tests
\ No newline at end of file |
