From 8714470ebb41abec07e178abf4d4739dcd6087fb Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Fri, 12 Jul 2024 16:54:48 +0200 Subject: lang: extract constants for messages --- lang/tests/labels.cpp | 30 ++++++++++++++++++++++++++++++ lang/tests/menu_items.cpp | 29 +++++++++++++++++++++++++++++ lang/tests/tooltips.cpp | 33 +++++++++++++++++++++++++++++++++ lang/tests/translations.cpp | 29 ----------------------------- 4 files changed, 92 insertions(+), 29 deletions(-) create mode 100644 lang/tests/labels.cpp create mode 100644 lang/tests/menu_items.cpp create mode 100644 lang/tests/tooltips.cpp delete mode 100644 lang/tests/translations.cpp (limited to 'lang/tests') diff --git a/lang/tests/labels.cpp b/lang/tests/labels.cpp new file mode 100644 index 0000000..3ebdf42 --- /dev/null +++ b/lang/tests/labels.cpp @@ -0,0 +1,30 @@ +#include "turns/lang/messages.hpp" + +#include +#include + +#include +#include + +#include + +namespace turns::lang::tests +{ + + TEST_CASE("Label translations") + { + auto message = GENERATE( + labels::no_active_turn_order, + labels::turns + ); + + auto locale = GENERATE("de_CH.UTF-8", "de_DE.UTF-8", "de_AT.UTF-8"); + + SECTION(std::format("'{}' has a translation in '{}'", message, locale)) + { + setlocale(LC_ALL, locale); + REQUIRE(std::string{gettext(message)} != message); + } + } + +} // namespace turns::lang::tests \ No newline at end of file diff --git a/lang/tests/menu_items.cpp b/lang/tests/menu_items.cpp new file mode 100644 index 0000000..71fdef5 --- /dev/null +++ b/lang/tests/menu_items.cpp @@ -0,0 +1,29 @@ +#include "turns/lang/messages.hpp" + +#include +#include + +#include +#include + +#include + +namespace turns::lang::tests +{ + + TEST_CASE("Menu item translations") + { + auto message = GENERATE( + menu_items::quit + ); + + auto locale = GENERATE("de_CH.UTF-8", "de_DE.UTF-8", "de_AT.UTF-8"); + + SECTION(std::format("'{}' has a translation in '{}'", message, locale)) + { + setlocale(LC_ALL, locale); + REQUIRE(std::string{gettext(message)} != message); + } + } + +} // namespace turns::lang::tests \ No newline at end of file diff --git a/lang/tests/tooltips.cpp b/lang/tests/tooltips.cpp new file mode 100644 index 0000000..66b6d72 --- /dev/null +++ b/lang/tests/tooltips.cpp @@ -0,0 +1,33 @@ +#include "turns/lang/messages.hpp" + +#include +#include + +#include + +#include +#include + +namespace turns::lang::tests +{ + +TEST_CASE("Tooltip translations") +{ + auto message = GENERATE( + tooltips::add_a_participant + ); + + auto locale = GENERATE( + "de_CH.UTF-8", + "de_DE.UTF-8", + "de_AT.UTF-8" + ); + + SECTION(std::format("'{}' has a translation in '{}'", message, locale)) + { + setlocale(LC_ALL, locale); + REQUIRE(std::string{gettext(message)} != message); + } +} + +} \ No newline at end of file diff --git a/lang/tests/translations.cpp b/lang/tests/translations.cpp deleted file mode 100644 index 1bb78a5..0000000 --- a/lang/tests/translations.cpp +++ /dev/null @@ -1,29 +0,0 @@ -#include -#include - -#include - -#include -#include - -TEST_CASE("All supported languages have translations") -{ - auto message = GENERATE( - "Turns", - "Add a participant", - "No active turn-order", - "_Quit" - ); - - auto locale = GENERATE( - "de_CH.UTF-8", - "de_DE.UTF-8", - "de_AT.UTF-8" - ); - - SECTION(std::format("'{}' has a translation in '{}'", message, locale)) - { - setlocale(LC_ALL, locale); - REQUIRE(std::string{gettext(message)} != message); - } -} -- cgit v1.2.3