[Checkins] SVN: zope.schema/trunk/src/zope/schema/ Suppress warnings, fix test when run under Python 2.6.
Tres Seaver
tseaver at palladion.com
Mon Oct 6 09:09:50 EDT 2008
Log message for revision 91807:
Suppress warnings, fix test when run under Python 2.6.
Changed:
U zope.schema/trunk/src/zope/schema/_field.py
U zope.schema/trunk/src/zope/schema/tests/test_setfield.py
-=-
Modified: zope.schema/trunk/src/zope/schema/_field.py
===================================================================
--- zope.schema/trunk/src/zope/schema/_field.py 2008-10-06 12:13:36 UTC (rev 91806)
+++ zope.schema/trunk/src/zope/schema/_field.py 2008-10-06 13:09:49 UTC (rev 91807)
@@ -21,7 +21,12 @@
import re
import decimal
from datetime import datetime, date, timedelta, time
-from sets import Set as SetType
+import sys
+if sys.version_info < (2, 6): # deprecation warnings
+ from sets import Set as SetType
+ SET_TYPES = set, SetType
+else:
+ SET_TYPES = set,
from zope.event import notify
@@ -182,8 +187,11 @@
def fromUnicode(self, u):
"""
>>> f = Decimal()
- >>> f.fromUnicode("1.25")
- Decimal("1.25")
+ >>> import decimal
+ >>> isinstance(f.fromUnicode("1.25"), decimal.Decimal)
+ True
+ >>> float(f.fromUnicode("1.25"))
+ 1.25
>>> f.fromUnicode("1.25.6")
Traceback (most recent call last):
...
@@ -410,7 +418,7 @@
class Set(AbstractCollection):
"""A field representing a set."""
implements(ISet)
- _type = SetType, set
+ _type = SET_TYPES
def __init__(self, **kw):
if 'unique' in kw: # set members are always unique
raise TypeError(
Modified: zope.schema/trunk/src/zope/schema/tests/test_setfield.py
===================================================================
--- zope.schema/trunk/src/zope/schema/tests/test_setfield.py 2008-10-06 12:13:36 UTC (rev 91806)
+++ zope.schema/trunk/src/zope/schema/tests/test_setfield.py 2008-10-06 13:09:49 UTC (rev 91807)
@@ -16,7 +16,6 @@
$Id$
"""
from unittest import TestSuite, main, makeSuite
-import sets
from zope.interface import implements, providedBy
from zope.schema import Field, Set, Int, FrozenSet
@@ -28,6 +27,14 @@
from zope.schema.interfaces import TooShort, TooLong
from zope.schema.tests.test_field import CollectionFieldTestBase
+def _oldSet(values=()):
+ # Avoid importing 'sets' in Python 2.6, where it generates deprectaions.
+ import sys
+ if sys.version_info < (2, 6): # deprecation warnings
+ from sets import Set as SetType
+ return SetType(values)
+ return set(values)
+
class SetTest(CollectionFieldTestBase):
"""Test the Tuple Field."""
@@ -37,9 +44,9 @@
field = Set(title=u'Set field', description=u'',
readonly=False, required=False)
field.validate(None)
- field.validate(sets.Set())
- field.validate(sets.Set((1, 2)))
- field.validate(sets.Set((3,)))
+ field.validate(_oldSet())
+ field.validate(_oldSet((1, 2)))
+ field.validate(_oldSet((3,)))
field.validate(set())
field.validate(set((1, 2)))
field.validate(set((3,)))
@@ -54,9 +61,9 @@
def testValidateRequired(self):
field = Set(title=u'Set field', description=u'',
readonly=False, required=True)
- field.validate(sets.Set())
- field.validate(sets.Set((1, 2)))
- field.validate(sets.Set((3,)))
+ field.validate(_oldSet())
+ field.validate(_oldSet((1, 2)))
+ field.validate(_oldSet((3,)))
field.validate(set())
field.validate(set((1, 2)))
field.validate(set((3,)))
@@ -66,7 +73,7 @@
def testValidateRequiredAltMissingValue(self):
missing = object()
field = Set(required=True, missing_value=missing)
- field.validate(sets.Set())
+ field.validate(_oldSet())
field.validate(set())
self.assertRaises(RequiredMissing, field.validate, missing)
@@ -84,13 +91,13 @@
field = Set(title=u'Set field', description=u'',
readonly=False, required=False, min_length=2)
field.validate(None)
- field.validate(sets.Set((1, 2)))
- field.validate(sets.Set((1, 2, 3)))
+ field.validate(_oldSet((1, 2)))
+ field.validate(_oldSet((1, 2, 3)))
field.validate(set((1, 2)))
field.validate(set((1, 2, 3)))
- self.assertRaises(TooShort, field.validate, sets.Set(()))
- self.assertRaises(TooShort, field.validate, sets.Set((3,)))
+ self.assertRaises(TooShort, field.validate, _oldSet(()))
+ self.assertRaises(TooShort, field.validate, _oldSet((3,)))
self.assertRaises(TooShort, field.validate, set(()))
self.assertRaises(TooShort, field.validate, set((3,)))
@@ -98,13 +105,13 @@
field = Set(title=u'Set field', description=u'',
readonly=False, required=False, max_length=2)
field.validate(None)
- field.validate(sets.Set())
- field.validate(sets.Set((1, 2)))
+ field.validate(_oldSet())
+ field.validate(_oldSet((1, 2)))
field.validate(set())
field.validate(set((1, 2)))
- self.assertRaises(TooLong, field.validate, sets.Set((1, 2, 3, 4)))
- self.assertRaises(TooLong, field.validate, sets.Set((1, 2, 3)))
+ self.assertRaises(TooLong, field.validate, _oldSet((1, 2, 3, 4)))
+ self.assertRaises(TooLong, field.validate, _oldSet((1, 2, 3)))
self.assertRaises(TooLong, field.validate, set((1, 2, 3, 4)))
self.assertRaises(TooLong, field.validate, set((1, 2, 3)))
@@ -113,13 +120,13 @@
readonly=False, required=False,
min_length=1, max_length=2)
field.validate(None)
- field.validate(sets.Set((3,)))
- field.validate(sets.Set((1, 2)))
+ field.validate(_oldSet((3,)))
+ field.validate(_oldSet((1, 2)))
field.validate(set((3,)))
field.validate(set((1, 2)))
- self.assertRaises(TooShort, field.validate, sets.Set())
- self.assertRaises(TooLong, field.validate, sets.Set((1, 2, 3)))
+ self.assertRaises(TooShort, field.validate, _oldSet())
+ self.assertRaises(TooLong, field.validate, _oldSet((1, 2, 3)))
self.assertRaises(TooShort, field.validate, set())
self.assertRaises(TooLong, field.validate, set((1, 2, 3)))
@@ -128,14 +135,15 @@
readonly=False, required=False,
value_type=Int())
field.validate(None)
- field.validate(sets.Set((5,)))
- field.validate(sets.Set((2, 3)))
+ field.validate(_oldSet((5,)))
+ field.validate(_oldSet((2, 3)))
field.validate(set((5,)))
field.validate(set((2, 3)))
- self.assertRaises(WrongContainedType, field.validate, sets.Set(('',)))
+ self.assertRaises(WrongContainedType, field.validate,
+ _oldSet(('',)))
self.assertRaises(WrongContainedType,
- field.validate, sets.Set((3.14159,)))
+ field.validate, _oldSet((3.14159,)))
self.assertRaises(WrongContainedType, field.validate, set(('',)))
self.assertRaises(WrongContainedType,
field.validate, set((3.14159,)))
@@ -185,7 +193,7 @@
self.assertRaises(WrongType, field.validate, {})
self.assertRaises(WrongType, field.validate, (1, 2, 3))
self.assertRaises(WrongType, field.validate, set((1, 2, 3)))
- self.assertRaises(WrongType, field.validate, sets.Set((1, 2, 3)))
+ self.assertRaises(WrongType, field.validate, _oldSet((1, 2, 3)))
def testValidateRequired(self):
field = FrozenSet(title=u'Set field', description=u'',
More information about the Checkins
mailing list