BOOST_CHECK_EQUAL("dummy test string", result);
}
+BOOST_AUTO_TEST_CASE(PluralString0)
+{
+ // Zero elements get the plural message (in the default "plural" configuration)
+ BOOST_CHECK_EQUAL("xxx new messages", i18n_plural("One new message", "xxx new messages", 0));
+}
+
+BOOST_AUTO_TEST_CASE(PluralString1)
+{
+ BOOST_CHECK_EQUAL("One new message", i18n_plural("One new message", "xxx new messages", 1));
+}
+
+BOOST_AUTO_TEST_CASE(PluralString2)
+{
+ BOOST_CHECK_EQUAL("xxx new messages", i18n_plural("One new message", "xxx new messages", 2));
+}
+
+BOOST_AUTO_TEST_CASE(PluralStringWithParamter1)
+{
+ vector<string> data;
+ data.push_back("1");
+
+ BOOST_CHECK_EQUAL("1 new message", i18n_get_string(i18n_plural("$0 new message", "$0 new messages", 1), data));
+}
+
+BOOST_AUTO_TEST_CASE(PluralStringWithParamter2)
+{
+ vector<string> data;
+ data.push_back("500");
+
+ 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_CASE(Noop)
+{
+ BOOST_CHECK_EQUAL(i18n_noop("Test"), "Test");
+ BOOST_CHECK_EQUAL(i18n_noop(" Test "), " Test ");
+ BOOST_CHECK_EQUAL(i18n_noops("Test") + "2", "Test2"); // this only works if first operand of "+" is string
+}
+
BOOST_AUTO_TEST_SUITE_END()