diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/zope/__init__.py | 2 | ||||
| -rw-r--r-- | src/zope/i18nmessageid/message.py | 8 | ||||
| -rw-r--r-- | src/zope/i18nmessageid/tests.py | 33 |
3 files changed, 26 insertions, 17 deletions
diff --git a/src/zope/__init__.py b/src/zope/__init__.py index de40ea7..2cdb0e4 100644 --- a/src/zope/__init__.py +++ b/src/zope/__init__.py @@ -1 +1 @@ -__import__('pkg_resources').declare_namespace(__name__) +__import__('pkg_resources').declare_namespace(__name__) # pragma: no cover diff --git a/src/zope/i18nmessageid/message.py b/src/zope/i18nmessageid/message.py index e46cad6..0e62408 100644 --- a/src/zope/i18nmessageid/message.py +++ b/src/zope/i18nmessageid/message.py @@ -41,11 +41,7 @@ class Message(unicode): mapping = ustr.mapping and ustr.mapping.copy() or mapping ustr = unicode(ustr) self.domain = domain - if default is None: - # MessageID does: self.default = ustr - self.default = default - else: - self.default = unicode(default) + self.default = default self.mapping = mapping self._readonly = True return self @@ -70,7 +66,7 @@ class Message(unicode): pyMessage = Message try: - from _zope_i18nmessageid_message import Message + from ._zope_i18nmessageid_message import Message except ImportError: # pragma: no cover pass diff --git a/src/zope/i18nmessageid/tests.py b/src/zope/i18nmessageid/tests.py index 560750b..0e8f6b4 100644 --- a/src/zope/i18nmessageid/tests.py +++ b/src/zope/i18nmessageid/tests.py @@ -13,15 +13,17 @@ ############################################################################## """Message ID tests. """ +import sys import unittest +from zope.i18nmessageid import message as messageid + class PyMessageTests(unittest.TestCase): _TEST_REAOONLY = True def _getTargetClass(self): - from zope.i18nmessageid.message import pyMessage - return pyMessage + return messageid.pyMessage def _makeOne(self, *args, **kw): return self._getTargetClass()(*args, **kw) @@ -71,20 +73,23 @@ class PyMessageTests(unittest.TestCase): message = self._makeOne('testing') def _try(): message.domain = 'domain' - self.assertRaises(TypeError, _try) + # C version raises AttributeError, Python version TypeError + self.assertRaises((TypeError, AttributeError), _try) def test_default_immutable(self): message = self._makeOne('testing') def _try(): message.default = 'default' - self.assertRaises(TypeError, _try) + # C version raises AttributeError, Python version TypeError + self.assertRaises((TypeError, AttributeError), _try) def test_mapping_immutable(self): mapping = {'key': 'value'} message = self._makeOne('testing') def _try(): message.mapping = mapping - self.assertRaises(TypeError, _try) + # C version raises AttributeError, Python version TypeError + self.assertRaises((TypeError, AttributeError), _try) def test_unknown_immutable(self): message = self._makeOne('testing') @@ -101,15 +106,25 @@ class PyMessageTests(unittest.TestCase): self.assertTrue(klass is self._getTargetClass()) self.assertEqual(state, ('testing', 'domain', 'default', mapping)) + def test_non_unicode_default(self): + message = self._makeOne(u'str', default=123) + self.assertEqual(message.default, 123) +@unittest.skipIf(messageid.Message is messageid.pyMessage, + "Duplicate tests") class MessageTests(PyMessageTests): _TEST_REAOONLY = False def _getTargetClass(self): - from zope.i18nmessageid.message import Message - return Message + return messageid.Message + +@unittest.skipIf('java' in sys.platform or hasattr(sys, 'pypy_version_info'), + "We don't expect the C implementation here") +class OptimizationTests(unittest.TestCase): + def test_optimizations_available(self): + self.assertIsNot(messageid.Message, messageid.pyMessage) class MessageFactoryTests(unittest.TestCase): @@ -144,7 +159,5 @@ class MessageFactoryTests(unittest.TestCase): def test_suite(): return unittest.TestSuite(( - unittest.makeSuite(PyMessageTests), - unittest.makeSuite(MessageTests), - unittest.makeSuite(MessageFactoryTests), + unittest.defaultTestLoader.loadTestsFromName(__name__), )) |
