From 693f98373bc4681d8eac1ab898f9ca9b9c9860d2 Mon Sep 17 00:00:00 2001 From: Riceball LEE Date: Mon, 1 Nov 2021 20:27:46 +0800 Subject: Localize error messages in mainmenu (#11495) Co-authored-by: sfan5 Co-authored-by: rubenwardy --- src/unittest/CMakeLists.txt | 1 + src/unittest/test_gettext.cpp | 47 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 src/unittest/test_gettext.cpp (limited to 'src/unittest') diff --git a/src/unittest/CMakeLists.txt b/src/unittest/CMakeLists.txt index 52f870901..4d295e4ed 100644 --- a/src/unittest/CMakeLists.txt +++ b/src/unittest/CMakeLists.txt @@ -33,6 +33,7 @@ set (UNITTEST_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/test_voxelarea.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_voxelalgorithms.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_voxelmanipulator.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/test_gettext.cpp PARENT_SCOPE) set (UNITTEST_CLIENT_SRCS diff --git a/src/unittest/test_gettext.cpp b/src/unittest/test_gettext.cpp new file mode 100644 index 000000000..98f73ec62 --- /dev/null +++ b/src/unittest/test_gettext.cpp @@ -0,0 +1,47 @@ +#include "test.h" +#include "porting.h" +#include "gettext.h" + +class TestGettext : public TestBase +{ +public: + TestGettext() { + TestManager::registerTestModule(this); + } + + const char *getName() { return "TestGettext"; } + + void runTests(IGameDef *gamedef); + + void testSnfmtgettext(); + void testFmtgettext(); +}; + +static TestGettext g_test_instance; + +void TestGettext::runTests(IGameDef *gamedef) +{ + TEST(testFmtgettext); +} + +void TestGettext::testFmtgettext() +{ + std::string buf = fmtgettext("Viewing range changed to %d", 12); + UASSERTEQ(std::string, buf, "Viewing range changed to 12"); + buf = fmtgettext( + "You are about to join this server with the name \"%s\" for the " + "first time.\n" + "If you proceed, a new account using your credentials will be " + "created on this server.\n" + "Please retype your password and click 'Register and Join' to " + "confirm account creation, or click 'Cancel' to abort." + , "A"); + UASSERTEQ(std::string, buf, + "You are about to join this server with the name \"A\" for the " + "first time.\n" + "If you proceed, a new account using your credentials will be " + "created on this server.\n" + "Please retype your password and click 'Register and Join' to " + "confirm account creation, or click 'Cancel' to abort." + ); +} -- cgit v1.2.3