[Checkins] SVN: zope.schema/branches/tseaver-test_cleanup/src/zope/schema/ Coverage for z.s._f.Id.
Tres Seaver
cvs-admin at zope.org
Wed Apr 25 18:20:33 UTC 2012
Log message for revision 125290:
Coverage for z.s._f.Id.
Changed:
U zope.schema/branches/tseaver-test_cleanup/src/zope/schema/_compat.py
U zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__field.py
-=-
Modified: zope.schema/branches/tseaver-test_cleanup/src/zope/schema/_compat.py
===================================================================
--- zope.schema/branches/tseaver-test_cleanup/src/zope/schema/_compat.py 2012-04-25 18:20:24 UTC (rev 125289)
+++ zope.schema/branches/tseaver-test_cleanup/src/zope/schema/_compat.py 2012-04-25 18:20:29 UTC (rev 125290)
@@ -12,6 +12,7 @@
text_type = str
binary_type = bytes
integer_types = int,
+ non_native_string = bytes
else: #pragma NO COVER
def b(s):
return s
@@ -21,3 +22,4 @@
text_type = unicode
binary_type = str
integer_types = (int, long)
+ non_native_string = unicode
Modified: zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__field.py
===================================================================
--- zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__field.py 2012-04-25 18:20:24 UTC (rev 125289)
+++ zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__field.py 2012-04-25 18:20:29 UTC (rev 125290)
@@ -1834,6 +1834,84 @@
field.fromUnicode, u('http://example.com/\nDAV:'))
+class IdTests(unittest.TestCase):
+
+ def _getTargetClass(self):
+ from zope.schema._field import Id
+ return Id
+
+ def _makeOne(self, *args, **kw):
+ return self._getTargetClass()(*args, **kw)
+
+ def test_class_conforms_to_IId(self):
+ from zope.interface.verify import verifyClass
+ from zope.schema.interfaces import IId
+ verifyClass(IId, self._getTargetClass())
+
+ def test_instance_conforms_to_IId(self):
+ from zope.interface.verify import verifyObject
+ from zope.schema.interfaces import IId
+ verifyObject(IId, self._makeOne())
+
+ def test_validate_wrong_types(self):
+ from zope.schema.interfaces import WrongType
+ from zope.schema._compat import non_native_string
+ field = self._makeOne()
+ self.assertRaises(WrongType, field.validate, non_native_string(''))
+ self.assertRaises(WrongType, field.validate, 1)
+ self.assertRaises(WrongType, field.validate, 1.0)
+ self.assertRaises(WrongType, field.validate, ())
+ self.assertRaises(WrongType, field.validate, [])
+ self.assertRaises(WrongType, field.validate, {})
+ self.assertRaises(WrongType, field.validate, set())
+ self.assertRaises(WrongType, field.validate, frozenset())
+ self.assertRaises(WrongType, field.validate, object())
+
+ def test_validate_not_required(self):
+ field = self._makeOne(required=False)
+ field.validate('http://example.com/')
+ field.validate('dotted.name')
+ field.validate(None)
+
+ def test_validate_required(self):
+ from zope.schema.interfaces import RequiredMissing
+ field = self._makeOne()
+ field.validate('http://example.com/')
+ field.validate('dotted.name')
+ self.assertRaises(RequiredMissing, field.validate, None)
+
+ def test_validate_not_a_uri(self):
+ from zope.schema.interfaces import ConstraintNotSatisfied
+ from zope.schema.interfaces import InvalidId
+ field = self._makeOne()
+ self.assertRaises(InvalidId, field.validate, '')
+ self.assertRaises(InvalidId, field.validate, 'abc')
+ self.assertRaises(InvalidId, field.validate, '\xab\xde')
+ self.assertRaises(ConstraintNotSatisfied,
+ field.validate, 'http://example.com/\nDAV:')
+
+ def test_fromUnicode_url_ok(self):
+ from zope.schema._compat import u
+ field = self._makeOne()
+ self.assertEqual(field.fromUnicode(u('http://example.com/')),
+ 'http://example.com/')
+
+ def test_fromUnicode_dotted_name_ok(self):
+ from zope.schema._compat import u
+ field = self._makeOne()
+ self.assertEqual(field.fromUnicode(u('dotted.name')), 'dotted.name')
+
+ def test_fromUnicode_invalid(self):
+ from zope.schema.interfaces import ConstraintNotSatisfied
+ from zope.schema.interfaces import InvalidId
+ from zope.schema._compat import u
+ field = self._makeOne()
+ self.assertRaises(InvalidId, field.fromUnicode, u(''))
+ self.assertRaises(InvalidId, field.fromUnicode, u('abc'))
+ self.assertRaises(ConstraintNotSatisfied,
+ field.fromUnicode, u('http://example.com/\nDAV:'))
+
+
class DummyInstance(object):
pass
@@ -1899,5 +1977,6 @@
unittest.makeSuite(ObjectTests),
unittest.makeSuite(DictTests),
unittest.makeSuite(URITests),
+ unittest.makeSuite(IdTests),
))
More information about the checkins
mailing list