[Checkins] SVN: zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__field.py Coverage for z.s._f.URI.
Tres Seaver
cvs-admin at zope.org
Wed Apr 25 18:20:28 UTC 2012
Log message for revision 125289:
Coverage for z.s._f.URI.
Changed:
U zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__field.py
-=-
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:19 UTC (rev 125288)
+++ zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__field.py 2012-04-25 18:20:24 UTC (rev 125289)
@@ -1759,6 +1759,81 @@
self.assertEqual(field2.value_type.context, context)
+class URITests(unittest.TestCase):
+
+ def _getTargetClass(self):
+ from zope.schema._field import URI
+ return URI
+
+ def _makeOne(self, *args, **kw):
+ return self._getTargetClass()(*args, **kw)
+
+ def test_class_conforms_to_IURI(self):
+ from zope.interface.verify import verifyClass
+ from zope.schema.interfaces import IURI
+ verifyClass(IURI, self._getTargetClass())
+
+ def test_instance_conforms_to_IURI(self):
+ from zope.interface.verify import verifyObject
+ from zope.schema.interfaces import IURI
+ verifyObject(IURI, self._makeOne())
+
+ def test_validate_wrong_types(self):
+ from zope.schema.interfaces import WrongType
+ from zope.schema._compat import u
+ field = self._makeOne()
+ self.assertRaises(WrongType, field.validate, u(''))
+ 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):
+ from zope.schema._compat import b
+ field = self._makeOne(required=False)
+ field.validate(b('http://example.com/'))
+ field.validate(None)
+
+ def test_validate_required(self):
+ from zope.schema.interfaces import RequiredMissing
+ from zope.schema._compat import b
+ field = self._makeOne()
+ field.validate(b('http://example.com/'))
+ self.assertRaises(RequiredMissing, field.validate, None)
+
+ def test_validate_not_a_uri(self):
+ from zope.schema.interfaces import ConstraintNotSatisfied
+ from zope.schema.interfaces import InvalidURI
+ from zope.schema._compat import b
+ field = self._makeOne()
+ self.assertRaises(InvalidURI, field.validate, b(''))
+ self.assertRaises(InvalidURI, field.validate, b('abc'))
+ self.assertRaises(InvalidURI, field.validate, b('\xab\xde'))
+ self.assertRaises(ConstraintNotSatisfied,
+ field.validate, b('http://example.com/\nDAV:'))
+
+ def test_fromUnicode_ok(self):
+ from zope.schema._compat import b
+ from zope.schema._compat import u
+ field = self._makeOne()
+ self.assertEqual(field.fromUnicode(u('http://example.com/')),
+ b('http://example.com/'))
+
+ def test_fromUnicode_invalid(self):
+ from zope.schema.interfaces import ConstraintNotSatisfied
+ from zope.schema.interfaces import InvalidURI
+ from zope.schema._compat import u
+ field = self._makeOne()
+ self.assertRaises(InvalidURI, field.fromUnicode, u(''))
+ self.assertRaises(InvalidURI, field.fromUnicode, u('abc'))
+ self.assertRaises(ConstraintNotSatisfied,
+ field.fromUnicode, u('http://example.com/\nDAV:'))
+
+
class DummyInstance(object):
pass
@@ -1823,5 +1898,6 @@
unittest.makeSuite(FrozenSetTests),
unittest.makeSuite(ObjectTests),
unittest.makeSuite(DictTests),
+ unittest.makeSuite(URITests),
))
More information about the checkins
mailing list