summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2015-03-20 19:45:53 +0100
committerClaude Paroz <claude@2xlibre.net>2015-03-21 10:27:30 +0100
commit9e83f30cd318693995decebdc68433853e93a6bb (patch)
treee7193e7a0cf83fd0f89092c7978c6504e765f3a4 /tests
parentaea02ddfb7c610db9a7cb291b113d6e561d8eba9 (diff)
Fixed #24515 -- Fixed DjangoTranslation plural handling
Diffstat (limited to 'tests')
-rw-r--r--tests/i18n/tests.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/tests/i18n/tests.py b/tests/i18n/tests.py
index ad23861aea..34681790c0 100644
--- a/tests/i18n/tests.py
+++ b/tests/i18n/tests.py
@@ -30,7 +30,7 @@ from django.utils.translation import (
get_language, get_language_from_request, get_language_info, gettext,
gettext_lazy, ngettext_lazy, npgettext, npgettext_lazy, pgettext,
pgettext_lazy, string_concat, to_locale, trans_real, ugettext,
- ugettext_lazy, ungettext_lazy,
+ ugettext_lazy, ungettext, ungettext_lazy,
)
from .forms import CompanyForm, I18nForm, SelectDateForm
@@ -57,6 +57,16 @@ def patch_formats(lang, **settings):
class TranslationTests(TestCase):
+ @translation.override('fr')
+ def test_plural(self):
+ """
+ Test plurals with ungettext. French differs from English in that 0 is singular.
+ """
+ self.assertEqual(ungettext("%d year", "%d years", 0) % 0, "0 année")
+ self.assertEqual(ungettext("%d year", "%d years", 2) % 2, "2 années")
+ self.assertEqual(ungettext("%(size)d byte", "%(size)d bytes", 0) % {'size': 0}, "0 octet")
+ self.assertEqual(ungettext("%(size)d byte", "%(size)d bytes", 2) % {'size': 2}, "2 octets")
+
def test_override(self):
activate('de')
try: