summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2009-01-05 01:20:14 -0700
committerJason Gerard DeRose <jderose@redhat.com>2009-01-05 01:20:14 -0700
commitc121d0064bb7a7bd1a289ae29ceb2dee314c2d2f (patch)
treeb4e324b210818dde55b8b78f0820a102ae4cdd06 /tests
parent026860bd5652286af64a82d3d52582701af44c0b (diff)
downloadfreeipa-c121d0064bb7a7bd1a289ae29ceb2dee314c2d2f.tar.gz
freeipa-c121d0064bb7a7bd1a289ae29ceb2dee314c2d2f.tar.xz
freeipa-c121d0064bb7a7bd1a289ae29ceb2dee314c2d2f.zip
New Param: Added Param.get_label() method for a way to retrieve translated message at request time
Diffstat (limited to 'tests')
-rw-r--r--tests/test_ipalib/test_error2.py2
-rw-r--r--tests/test_ipalib/test_parameter.py49
-rw-r--r--tests/test_ipalib/test_request.py8
-rw-r--r--tests/util.py4
4 files changed, 54 insertions, 9 deletions
diff --git a/tests/test_ipalib/test_error2.py b/tests/test_ipalib/test_error2.py
index a5b1e7c58..33f571ebe 100644
--- a/tests/test_ipalib/test_error2.py
+++ b/tests/test_ipalib/test_error2.py
@@ -23,7 +23,7 @@ Test the `ipalib.error2` module.
import re
import inspect
-from tests.util import assert_equal, raises, DummyUGettext
+from tests.util import assert_equal, raises, dummy_ugettext
from ipalib import errors2
from ipalib.constants import TYPE_ERROR
diff --git a/tests/test_ipalib/test_parameter.py b/tests/test_ipalib/test_parameter.py
index ef248b702..63a1f4ae2 100644
--- a/tests/test_ipalib/test_parameter.py
+++ b/tests/test_ipalib/test_parameter.py
@@ -17,14 +17,14 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
"""
Test the `ipalib.parameter` module.
"""
from tests.util import raises, ClassChecker, read_only
+from tests.util import dummy_ugettext, assert_equal
from tests.data import binary_bytes, utf8_bytes, unicode_str
-from ipalib import parameter
+from ipalib import parameter, request
from ipalib.constants import TYPE_ERROR, CALLABLE_ERROR, NULLS
@@ -137,6 +137,7 @@ class test_Param(ClassChecker):
# Test default kwarg values:
assert o.cli_name is name
+ assert o.label is None
assert o.doc == ''
assert o.required is True
assert o.multivalue is False
@@ -200,6 +201,50 @@ class test_Param(ClassChecker):
o = self.cls('name', multivalue=True)
assert repr(o) == "Param('name', multivalue=True)"
+ def test_get_label(self):
+ """
+ Test the `ipalib.parameter.get_label` method.
+ """
+ context = request.context
+ cli_name = 'the_cli_name'
+ message = 'The Label'
+ label = lambda _: _(message)
+ o = self.cls('name', cli_name=cli_name, label=label)
+ assert o.label is label
+
+ ## Scenario 1: label=callable (a lambda form)
+
+ # Test with no context.ugettext:
+ assert not hasattr(context, 'ugettext')
+ assert_equal(o.get_label(), u'The Label')
+
+ # Test with dummy context.ugettext:
+ assert not hasattr(context, 'ugettext')
+ dummy = dummy_ugettext()
+ context.ugettext = dummy
+ assert o.get_label() is dummy.translation
+ assert dummy.message is message
+ del context.ugettext
+
+ ## Scenario 2: label=None
+ o = self.cls('name', cli_name=cli_name)
+ assert o.label is None
+
+ # Test with no context.ugettext:
+ assert not hasattr(context, 'ugettext')
+ assert_equal(o.get_label(), u'the_cli_name')
+
+ # Test with dummy context.ugettext:
+ assert not hasattr(context, 'ugettext')
+ dummy = dummy_ugettext()
+ context.ugettext = dummy
+ assert_equal(o.get_label(), u'the_cli_name')
+ assert not hasattr(dummy, 'message')
+
+ # Cleanup
+ del context.ugettext
+ assert not hasattr(context, 'ugettext')
+
def test_convert(self):
"""
Test the `ipalib.parameter.Param.convert` method.
diff --git a/tests/test_ipalib/test_request.py b/tests/test_ipalib/test_request.py
index 819f27554..f26c270a7 100644
--- a/tests/test_ipalib/test_request.py
+++ b/tests/test_ipalib/test_request.py
@@ -24,7 +24,7 @@ Test the `ipalib.request` module.
import threading
import locale
from tests.util import raises, assert_equal
-from tests.util import TempDir, DummyUGettext, DummyUNGettext
+from tests.util import TempDir, dummy_ugettext, dummy_ungettext
from ipalib.constants import OVERRIDE_ERROR
from ipalib import request
@@ -43,7 +43,7 @@ def test_ugettext():
# Test with dummy context.ugettext:
assert not hasattr(context, 'ugettext')
- dummy = DummyUGettext()
+ dummy = dummy_ugettext()
context.ugettext = dummy
assert f(message) is dummy.translation
assert dummy.message is message
@@ -69,7 +69,7 @@ def test_ungettext():
# Test singular with dummy context.ungettext
assert not hasattr(context, 'ungettext')
- dummy = DummyUNGettext()
+ dummy = dummy_ungettext()
context.ungettext = dummy
assert f(singular, plural, 1) is dummy.translation_singular
assert dummy.singular is singular
@@ -80,7 +80,7 @@ def test_ungettext():
# Test plural with dummy context.ungettext
assert not hasattr(context, 'ungettext')
- dummy = DummyUNGettext()
+ dummy = dummy_ungettext()
context.ungettext = dummy
assert f(singular, plural, 2) is dummy.translation_plural
assert dummy.singular is singular
diff --git a/tests/util.py b/tests/util.py
index b0961f453..9ed10016d 100644
--- a/tests/util.py
+++ b/tests/util.py
@@ -287,7 +287,7 @@ class PluginTester(object):
return (o, api, home)
-class DummyUGettext(object):
+class dummy_ugettext(object):
__called = False
def __init__(self):
@@ -301,7 +301,7 @@ class DummyUGettext(object):
return self.translation
-class DummyUNGettext(object):
+class dummy_ungettext(object):
__called = False
def __init__(self):