summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2024-07-25 08:53:59 +0200
committerFelix Morgner <felix.morgner@gmail.com>2024-07-25 08:53:59 +0200
commit02a030a95b27034eedc151488a014950595510de (patch)
tree4a66c7321a32590d370a58f8729db2e0b2b2ddd8 /lang
parente05d980091724358f689598643b0f17ec671d495 (diff)
downloadturns-02a030a95b27034eedc151488a014950595510de.tar.xz
turns-02a030a95b27034eedc151488a014950595510de.zip
turns: dissolve test_support library
Diffstat (limited to 'lang')
-rw-r--r--lang/CMakeLists.txt11
-rw-r--r--lang/tests/intl_test_init.cpp24
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