[Zodb-checkins] CVS: StandaloneZConfig/ZConfig/tests -
test_datatypes.py:1.9
Fred L. Drake, Jr.
fred at zope.com
Wed Dec 31 20:59:20 EST 2003
Update of /cvs-repository/StandaloneZConfig/ZConfig/tests
In directory cvs.zope.org:/tmp/cvs-serv14171/tests
Modified Files:
test_datatypes.py
Log Message:
two new datatypes: dotted-name and dotted-suffix
=== StandaloneZConfig/ZConfig/tests/test_datatypes.py 1.8 => 1.9 ===
--- StandaloneZConfig/ZConfig/tests/test_datatypes.py:1.8 Mon Dec 29 15:43:44 2003
+++ StandaloneZConfig/ZConfig/tests/test_datatypes.py Wed Dec 31 20:58:48 2003
@@ -28,6 +28,9 @@
here = os.path.abspath(here)
+StringType = type("")
+
+
class DatatypeTestCase(unittest.TestCase):
types = ZConfig.datatypes.Registry()
@@ -88,25 +91,75 @@
raises(ValueError, convert, "nan")
def test_datatype_identifier(self):
- def convert(value, self=self):
- value = self.types.get("identifier")(value)
- self.assert_(isinstance(value, type("")))
- return value
-
- eq = self.assertEqual
+ convert = self.types.get("identifier")
raises = self.assertRaises
+ self.check_names(convert)
+ self.check_never_namelike(convert)
+ raises(ValueError, convert, ".abc")
+
+ def check_names(self, convert):
+ eq = self.assert_ascii_equal
+ eq(convert, "AbcDef")
+ eq(convert, "a________")
+ eq(convert, "abc_def")
+ eq(convert, "int123")
+ eq(convert, "_abc")
+ eq(convert, "_123")
+ eq(convert, "__dict__")
+
+ def assert_ascii_equal(self, convert, value):
+ v = convert(value)
+ self.assertEqual(v, value)
+ self.assert_(isinstance(v, StringType))
- eq(convert("AbcDef"), "AbcDef")
- eq(convert("a________"), "a________")
- eq(convert("abc_def"), "abc_def")
- eq(convert("int123"), "int123")
- eq(convert("_abc"), "_abc")
- eq(convert("_123"), "_123")
- eq(convert("__dict__"), "__dict__")
+ def check_never_namelike(self, convert):
+ raises = self.assertRaises
raises(ValueError, convert, "2345")
+ raises(ValueError, convert, "23.45")
+ raises(ValueError, convert, ".45")
+ raises(ValueError, convert, "23.")
+ raises(ValueError, convert, "abc.")
raises(ValueError, convert, "-abc")
raises(ValueError, convert, "-123")
+ raises(ValueError, convert, "abc-")
+ raises(ValueError, convert, "123-")
+ raises(ValueError, convert, "-")
+ raises(ValueError, convert, ".")
+ raises(ValueError, convert, "&%$*()")
raises(ValueError, convert, "")
+
+ def test_datatype_dotted_name(self):
+ convert = self.types.get("dotted-name")
+ raises = self.assertRaises
+ self.check_names(convert)
+ self.check_dotted_names(convert)
+ self.check_never_namelike(convert)
+ raises(ValueError, convert, "abc.")
+ raises(ValueError, convert, ".abc.")
+ raises(ValueError, convert, "abc.def.")
+ raises(ValueError, convert, ".abc.def.")
+ raises(ValueError, convert, ".abc.def")
+
+ def test_datatype_dotted_suffix(self):
+ convert = self.types.get("dotted-suffix")
+ eq = self.assert_ascii_equal
+ raises = self.assertRaises
+ self.check_names(convert)
+ self.check_dotted_names(convert)
+ self.check_never_namelike(convert)
+ eq(convert, ".a")
+ eq(convert, ".a.b")
+ eq(convert, ".a.b.c.d.e.f.g.h.i.j.k.l.m.n.o")
+ raises(ValueError, convert, "abc.")
+ raises(ValueError, convert, ".abc.")
+ raises(ValueError, convert, "abc.def.")
+ raises(ValueError, convert, ".abc.def.")
+
+ def check_dotted_names(self, convert):
+ eq = self.assert_ascii_equal
+ eq(convert, "abc.def")
+ eq(convert, "abc.def.ghi")
+ eq(convert, "a.d.g.g.g.g.g.g.g")
def test_datatype_inet_address(self):
convert = self.types.get("inet-address")
More information about the Zodb-checkins
mailing list