summaryrefslogtreecommitdiffstats
path: root/tests/test_ipalib
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2009-01-04 00:46:21 -0700
committerJason Gerard DeRose <jderose@redhat.com>2009-01-04 00:46:21 -0700
commitc161784973fdedb146a4087d8692b157214c4db0 (patch)
treed6f318e607647b4163e52061a153f6a11287815f /tests/test_ipalib
parentc081ce5460018634fb30249ead2168ebf3a79044 (diff)
downloadfreeipa-c161784973fdedb146a4087d8692b157214c4db0.tar.gz
freeipa-c161784973fdedb146a4087d8692b157214c4db0.tar.xz
freeipa-c161784973fdedb146a4087d8692b157214c4db0.zip
Added request.ugettext() and request.ungettext() functions; added corresponding unit tests
Diffstat (limited to 'tests/test_ipalib')
-rw-r--r--tests/test_ipalib/test_request.py68
1 files changed, 67 insertions, 1 deletions
diff --git a/tests/test_ipalib/test_request.py b/tests/test_ipalib/test_request.py
index 7096b9274..62afb1403 100644
--- a/tests/test_ipalib/test_request.py
+++ b/tests/test_ipalib/test_request.py
@@ -23,11 +23,77 @@ Test the `ipalib.request` module.
import threading
import locale
-from tests.util import raises, TempDir
+from tests.util import raises, TempDir, DummyUGettext, DummyUNGettext
from ipalib.constants import OVERRIDE_ERROR
from ipalib import request
+def assert_equal(val1, val2):
+ assert type(val1) is type(val2), '%r != %r' % (val1, val2)
+ assert val1 == val2, '%r != %r' % (val1, val2)
+
+
+def test_ugettext():
+ """
+ Test the `ipalib.request.ugettext` function.
+ """
+ f = request.ugettext
+ context = request.context
+ message = 'Hello, world!'
+
+ # Test with no context.ugettext:
+ assert not hasattr(context, 'ugettext')
+ assert_equal(f(message), u'Hello, world!')
+
+ # Test with dummy context.ugettext:
+ assert not hasattr(context, 'ugettext')
+ dummy = DummyUGettext()
+ context.ugettext = dummy
+ assert f(message) is dummy.translation
+ assert dummy.message is message
+
+ # Cleanup
+ del context.ugettext
+ assert not hasattr(context, 'ugettext')
+
+
+def test_ungettext():
+ """
+ Test the `ipalib.request.ungettext` function.
+ """
+ f = request.ungettext
+ context = request.context
+ singular = 'Goose'
+ plural = 'Geese'
+
+ # Test with no context.ungettext:
+ assert not hasattr(context, 'ungettext')
+ assert_equal(f(singular, plural, 1), u'Goose')
+ assert_equal(f(singular, plural, 2), u'Geese')
+
+ # Test singular with dummy context.ungettext
+ assert not hasattr(context, 'ungettext')
+ dummy = DummyUNGettext()
+ context.ungettext = dummy
+ assert f(singular, plural, 1) is dummy.translation_singular
+ assert dummy.singular is singular
+ assert dummy.plural is plural
+ assert dummy.n == 1
+ del context.ungettext
+ assert not hasattr(context, 'ungettext')
+
+ # Test plural with dummy context.ungettext
+ assert not hasattr(context, 'ungettext')
+ dummy = DummyUNGettext()
+ context.ungettext = dummy
+ assert f(singular, plural, 2) is dummy.translation_plural
+ assert dummy.singular is singular
+ assert dummy.plural is plural
+ assert dummy.n == 2
+ del context.ungettext
+ assert not hasattr(context, 'ungettext')
+
+
def test_set_languages():
"""
Test the `ipalib.request.set_languages` function.