[Checkins] SVN: zope.schema/branches/tseaver-test_cleanup/src/zope/schema/ Coverage for z.s._f.ASCII.

Tres Seaver cvs-admin at zope.org
Mon Apr 23 21:59:34 UTC 2012


Log message for revision 125257:
  Coverage for z.s._f.ASCII.

Changed:
  U   zope.schema/branches/tseaver-test_cleanup/src/zope/schema/_field.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/_field.py
===================================================================
--- zope.schema/branches/tseaver-test_cleanup/src/zope/schema/_field.py	2012-04-23 21:59:27 UTC (rev 125256)
+++ zope.schema/branches/tseaver-test_cleanup/src/zope/schema/_field.py	2012-04-23 21:59:31 UTC (rev 125257)
@@ -148,9 +148,9 @@
         return v
 
 # for things which are of the str type on both Python 2 and 3
-if PY3:
+if PY3: #pragma NO COVER
     _Str = Text
-else:
+else: #pragma NO COVER
     _Str = Bytes
 
 @implementer(IASCII)

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-23 21:59:27 UTC (rev 125256)
+++ zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__field.py	2012-04-23 21:59:31 UTC (rev 125257)
@@ -36,8 +36,33 @@
         self.assertEqual(byt.fromUnicode(u('DEADBEEF')), b('DEADBEEF'))
 
 
+class ASCIITests(unittest.TestCase):
+
+    def _getTargetClass(self):
+        from zope.schema._field import ASCII
+        return ASCII
+
+    def _makeOne(self, *args, **kw):
+        return self._getTargetClass()(*args, **kw)
+
+    def test__validate_empty(self):
+        asc = self._makeOne()
+        asc._validate('') # no error
+
+    def test__validate_non_empty_miss(self):
+        from zope.schema.interfaces import InvalidValue
+        asc = self._makeOne()
+        self.assertRaises(InvalidValue, asc._validate, chr(129))
+
+    def test__validate_non_empty_hit(self):
+        asc = self._makeOne()
+        for i in range(128):
+            asc._validate(chr(i)) #doesn't raise
+
+
 def test_suite():
     return unittest.TestSuite((
         unittest.makeSuite(BytesTests),
+        unittest.makeSuite(ASCIITests),
     ))
 



More information about the checkins mailing list