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

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


Log message for revision 125258:
  Coverage for z.s._f.BytesLine.

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:31 UTC (rev 125257)
+++ zope.schema/branches/tseaver-test_cleanup/src/zope/schema/_field.py	2012-04-23 21:59:38 UTC (rev 125258)
@@ -193,9 +193,9 @@
         return b('\n') not in value
 
 # for things which are of the str type on both Python 2 and 3
-if PY3:
+if PY3: #pragma NO COVER
     _StrLine = TextLine
-else:
+else: #pragma NO COVER
     _StrLine = BytesLine
 
 @implementer(IASCIILine)

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:31 UTC (rev 125257)
+++ zope.schema/branches/tseaver-test_cleanup/src/zope/schema/tests/test__field.py	2012-04-23 21:59:38 UTC (rev 125258)
@@ -60,9 +60,31 @@
             asc._validate(chr(i)) #doesn't raise
 
 
+class BytesLineTests(unittest.TestCase):
+
+    def _getTargetClass(self):
+        from zope.schema._field import BytesLine
+        return BytesLine
+
+    def _makeOne(self, *args, **kw):
+        return self._getTargetClass()(*args, **kw)
+
+    def test_constraint_miss(self):
+        from zope.schema._compat import b
+        bl = self._makeOne()
+        self.assertEqual(bl.constraint(b('one line\nthen another')), False)
+
+    def test_constraint_hit(self):
+        from zope.schema._compat import b
+        bl = self._makeOne()
+        self.assertEqual(bl.constraint(b('')), True)
+        self.assertEqual(bl.constraint(b('one line')), True)
+
+
 def test_suite():
     return unittest.TestSuite((
         unittest.makeSuite(BytesTests),
         unittest.makeSuite(ASCIITests),
+        unittest.makeSuite(BytesLineTests),
     ))
 



More information about the checkins mailing list