diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2024-07-12 16:54:48 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2024-07-12 16:54:48 +0200 |
| commit | 8714470ebb41abec07e178abf4d4739dcd6087fb (patch) | |
| tree | ee7a82246286feb80457c96e71a9dd0e88207767 /lang/tests | |
| parent | a1777f0c9b3322592c702293b747404730dd1a70 (diff) | |
| download | turns-8714470ebb41abec07e178abf4d4739dcd6087fb.tar.xz turns-8714470ebb41abec07e178abf4d4739dcd6087fb.zip | |
lang: extract constants for messages
Diffstat (limited to 'lang/tests')
| -rw-r--r-- | lang/tests/labels.cpp | 30 | ||||
| -rw-r--r-- | lang/tests/menu_items.cpp | 29 | ||||
| -rw-r--r-- | lang/tests/tooltips.cpp (renamed from lang/tests/translations.cpp) | 14 |
3 files changed, 68 insertions, 5 deletions
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 <catch2/catch_test_macros.hpp> +#include <catch2/generators/catch_generators.hpp> + +#include <format> +#include <string> + +#include <libintl.h> + +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 <catch2/catch_test_macros.hpp> +#include <catch2/generators/catch_generators.hpp> + +#include <format> +#include <string> + +#include <libintl.h> + +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/translations.cpp b/lang/tests/tooltips.cpp index 1bb78a5..66b6d72 100644 --- a/lang/tests/translations.cpp +++ b/lang/tests/tooltips.cpp @@ -1,3 +1,5 @@ +#include "turns/lang/messages.hpp" + #include <catch2/catch_test_macros.hpp> #include <catch2/generators/catch_generators.hpp> @@ -6,13 +8,13 @@ #include <format> #include <string> -TEST_CASE("All supported languages have translations") +namespace turns::lang::tests +{ + +TEST_CASE("Tooltip translations") { auto message = GENERATE( - "Turns", - "Add a participant", - "No active turn-order", - "_Quit" + tooltips::add_a_participant ); auto locale = GENERATE( @@ -27,3 +29,5 @@ TEST_CASE("All supported languages have translations") REQUIRE(std::string{gettext(message)} != message); } } + +}
\ No newline at end of file |
