summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2010-04-19 14:41:17 +0000
committerChris McDonough <chrism@agendaless.com>2010-04-19 14:41:17 +0000
commit3f8195a1b05dbc0a6ed039ea645d95359a7f87c8 (patch)
treee8633947f1c91f29b46a6c8be3cefc30ce9ac3ec /repoze/bfg/tests
parentafc5507a220250dad848bcc9faf7cc4aec12f108 (diff)
downloadpyramid-3f8195a1b05dbc0a6ed039ea645d95359a7f87c8.tar.gz
pyramid-3f8195a1b05dbc0a6ed039ea645d95359a7f87c8.tar.bz2
pyramid-3f8195a1b05dbc0a6ed039ea645d95359a7f87c8.zip
Go with a subclass of z.i18nmid.Message with the args reordered as a compromise.
Make get_translation always return something.
Diffstat (limited to 'repoze/bfg/tests')
-rw-r--r--repoze/bfg/tests/test_i18n.py68
1 files changed, 54 insertions, 14 deletions
diff --git a/repoze/bfg/tests/test_i18n.py b/repoze/bfg/tests/test_i18n.py
index f2799e5e2..7d17b4551 100644
--- a/repoze/bfg/tests/test_i18n.py
+++ b/repoze/bfg/tests/test_i18n.py
@@ -1,20 +1,70 @@
import unittest
+class TestTranslationString(unittest.TestCase):
+ def _makeOne(self, text, **kw):
+ from repoze.bfg.i18n import TranslationString
+ return TranslationString(text, **kw)
+
+ def test_msgid_None(self):
+ inst = self._makeOne('text')
+ self.assertEqual(inst, 'text')
+ self.assertEqual(inst.default, 'text')
+
+ def test_msgid_not_None(self):
+ inst = self._makeOne('text', msgid='msgid')
+ self.assertEqual(inst, 'msgid')
+ self.assertEqual(inst.default, 'text')
+
+ def test_allargs(self):
+ inst = self._makeOne('text', msgid='msgid', mapping='mapping',
+ domain='domain')
+ self.assertEqual(inst, 'msgid')
+ self.assertEqual(inst.default, 'text')
+ self.assertEqual(inst.mapping, 'mapping')
+ self.assertEqual(inst.domain, 'domain')
+
+class TestTranslationStringFactory(unittest.TestCase):
+ def _makeOne(self, domain):
+ from repoze.bfg.i18n import TranslationStringFactory
+ return TranslationStringFactory(domain)
+
+ def test_allargs(self):
+ factory = self._makeOne('budge')
+ inst = factory('text', mapping='mapping', msgid='msgid')
+ self.assertEqual(inst, 'msgid')
+ self.assertEqual(inst.domain, 'budge')
+ self.assertEqual(inst.mapping, 'mapping')
+ self.assertEqual(inst.default, 'text')
+
+class Test_bfg_tstr(unittest.TestCase):
+ def _callFUT(self, text, **kw):
+ from repoze.bfg.i18n import bfg_tstr
+ return bfg_tstr(text, **kw)
+
+ def test_allargs(self):
+ inst = self._callFUT('text', mapping='mapping', msgid='msgid')
+ self.assertEqual(inst, 'msgid')
+ self.assertEqual(inst.domain, 'bfg')
+ self.assertEqual(inst.mapping, 'mapping')
+ self.assertEqual(inst.default, 'text')
+
class Test_get_translator(unittest.TestCase):
def _callFUT(self, request):
from repoze.bfg.i18n import get_translator
return get_translator(request)
def test_no_ITranslatorFactory(self):
+ from repoze.bfg.i18n import InterpolationOnlyTranslator
request = DummyRequest()
request.registry = DummyRegistry()
translator = self._callFUT(request)
- self.assertEqual(translator, None)
+ self.assertEqual(translator.__class__, InterpolationOnlyTranslator)
def test_no_registry_on_request(self):
+ from repoze.bfg.i18n import InterpolationOnlyTranslator
request = DummyRequest()
translator = self._callFUT(request)
- self.assertEqual(translator, None)
+ self.assertEqual(translator.__class__, InterpolationOnlyTranslator)
def test_with_ITranslatorFactory_from_registry(self):
request = DummyRequest()
@@ -30,13 +80,6 @@ class Test_get_translator(unittest.TestCase):
translator = self._callFUT(request)
self.assertEqual(translator, 'abc')
- def test_with_ITranslatorFactory_from_request_neg_cache(self):
- request = DummyRequest()
- request.registry = DummyRegistry()
- request._bfg_translator = False
- translator = self._callFUT(request)
- self.assertEqual(translator, None)
-
class TestInterpolationOnlyTranslator(unittest.TestCase):
def _makeOne(self, request):
from repoze.bfg.i18n import InterpolationOnlyTranslator
@@ -78,7 +121,6 @@ class TestChameleonTranslate(unittest.TestCase):
trans = self._makeOne(None)
result = trans('text')
self.assertEqual(result, 'text')
- self.assertEqual(self.request.chameleon_target_language, None)
def test_with_current_request_and_translator(self):
from repoze.bfg.interfaces import ITranslatorFactory
@@ -88,7 +130,6 @@ class TestChameleonTranslate(unittest.TestCase):
trans = self._makeOne(None)
result = trans('text')
self.assertEqual(result, 'text')
- self.assertEqual(self.request.chameleon_target_language, None)
self.assertEqual(result.domain, None)
self.assertEqual(result.default, 'text')
self.assertEqual(result.mapping, {})
@@ -102,7 +143,6 @@ class TestChameleonTranslate(unittest.TestCase):
result = trans('text', domain='domain', mapping={'a':'1'},
context=None, target_language='lang',
default='default')
- self.assertEqual(self.request.chameleon_target_language, 'lang')
self.assertEqual(result, 'text')
self.assertEqual(result.domain, 'domain')
self.assertEqual(result.default, 'default')
@@ -159,8 +199,8 @@ class DummyRegistry(object):
def __init__(self, tfactory=None):
self.tfactory = tfactory
- def queryUtility(self, iface):
- return self.tfactory
+ def queryUtility(self, iface, default=None):
+ return self.tfactory or default
class DummyTranslator(object):
def __call__(self, message):