summaryrefslogtreecommitdiff
path: root/src/zope/i18nmessageid/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/zope/i18nmessageid/tests.py')
-rw-r--r--src/zope/i18nmessageid/tests.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/zope/i18nmessageid/tests.py b/src/zope/i18nmessageid/tests.py
index 56074c1..89ed869 100644
--- a/src/zope/i18nmessageid/tests.py
+++ b/src/zope/i18nmessageid/tests.py
@@ -113,6 +113,19 @@ class PyMessageTests(unittest.TestCase):
self.assertEqual(message.msgid_plural, 'testings')
self.assertEqual(message.default_plural, 'defaults')
self.assertEqual(message.number, 0)
+
+ # Besides just being equal, they maintain their identity
+ for attr in (
+ 'domain',
+ 'default',
+ 'mapping',
+ 'msgid_plural',
+ 'default_plural',
+ 'number',
+ ):
+ self.assertIs(getattr(source, attr),
+ getattr(message, attr))
+
if self._TEST_READONLY:
self.assertTrue(message._readonly)
@@ -133,6 +146,29 @@ class PyMessageTests(unittest.TestCase):
if self._TEST_READONLY:
self.assertTrue(message._readonly)
+ def test_copy_no_default(self):
+ # https://github.com/zopefoundation/zope.i18nmessageid/issues/14
+ pref_msg = self._makeOne("${name} Preferences")
+ self.assertIsNone(pref_msg.default)
+ copy = self._makeOne(pref_msg, mapping={u'name': u'name'})
+ self.assertIsNone(copy.default)
+
+ def test_copy_no_overrides(self):
+ # https://github.com/zopefoundation/zope.i18nmessageid/issues/14
+ pref_msg = self._makeOne("${name} Preferences")
+
+ copy = self._makeOne(pref_msg)
+ for attr in (
+ 'domain',
+ 'default',
+ 'mapping',
+ 'msgid_plural',
+ 'default_plural',
+ 'number',
+ ):
+ self.assertIsNone(getattr(pref_msg, attr))
+ self.assertIsNone(getattr(copy, attr))
+
def test_domain_immutable(self):
message = self._makeOne('testing')
with self.assertRaises((TypeError, AttributeError)):