From: Christian Herdtweck Date: Wed, 4 Jan 2017 08:37:50 +0000 (+0100) Subject: Add convenience functions for i18n_get_string + unit tests X-Git-Tag: v2.9~13 X-Git-Url: http://developer.intra2net.com/git/?a=commitdiff_plain;h=e11a40a28f354d88f84316c55cdd269e838f0ada;p=libi2ncommon Add convenience functions for i18n_get_string + unit tests --- diff --git a/src/i18n.cpp b/src/i18n.cpp index f7dfa43..91a9156 100644 --- a/src/i18n.cpp +++ b/src/i18n.cpp @@ -188,6 +188,30 @@ string i18n_get_string(const std::string &source, const vector &data) return i18n_get_string (source.c_str(), data); } +string i18n_get_string (const string &source, const string &arg0) +{ + vector data; + data.push_back(arg0); + return i18n_get_string (source.c_str(), data); +} + +string i18n_get_string (const string &source, const string &arg0, const string &arg1) +{ + vector data; + data.push_back(arg0); + data.push_back(arg1); + return i18n_get_string (source.c_str(), data); +} + +string i18n_get_string (const string &source, const string &arg0, const string &arg1, const string &arg2) +{ + vector data; + data.push_back(arg0); + data.push_back(arg1); + data.push_back(arg2); + return i18n_get_string (source.c_str(), data); +} + // convert locale to language (de_DE -> de) string i18n_locale2language(const string &locale) { diff --git a/src/i18n.h b/src/i18n.h index d23f07b..2ed1ea8 100644 --- a/src/i18n.h +++ b/src/i18n.h @@ -42,6 +42,9 @@ std::string i18n_get_default_language(void); std::string i18n_get_string (const char *source, const std::vector &data); std::string i18n_get_string (const std::string &source, const std::vector &data); +std::string i18n_get_string (const std::string &source, const std::string &arg0); +std::string i18n_get_string (const std::string &source, const std::string &arg0, const std::string &arg1); +std::string i18n_get_string (const std::string &source, const std::string &arg0, const std::string &arg1, const std::string &arg2); std::string i18n_locale2language(const std::string &locale); diff --git a/test/test_i18n.cpp b/test/test_i18n.cpp index c43ea7d..6ce50e2 100644 --- a/test/test_i18n.cpp +++ b/test/test_i18n.cpp @@ -129,4 +129,22 @@ BOOST_AUTO_TEST_CASE(PluralStringWithParamter2) BOOST_CHECK_EQUAL("500 new messages", i18n_get_string(i18n_plural("$0 new message", "$0 new messages", 500), data)); } +BOOST_AUTO_TEST_CASE(Convenience0) +{ + string result = i18n_get_string("$0!", "Energize"); + BOOST_CHECK_EQUAL("Energize!", result); +} + +BOOST_AUTO_TEST_CASE(Convenience1) +{ + string result = i18n_get_string("Make $0 $1!", "it", "so"); + BOOST_CHECK_EQUAL("Make it so!", result); +} + +BOOST_AUTO_TEST_CASE(Convenience2) +{ + string result = i18n_get_string("$0, $1, $2!", "Tea", "Earl Grey", "hot"); + BOOST_CHECK_EQUAL("Tea, Earl Grey, hot!", result); +} + BOOST_AUTO_TEST_SUITE_END()