[Zope-Checkins] CVS: Packages/ZConfig/tests - test_schema.py:1.15
Fred L. Drake, Jr.
fred@zope.com
Mon, 24 Feb 2003 12:21:55 -0500
Update of /cvs-repository/Packages/ZConfig/tests
In directory cvs.zope.org:/tmp/cvs-serv5588
Modified Files:
test_schema.py
Log Message:
Add a test that checks certain aspects of using specialized keytypes.
=== Packages/ZConfig/tests/test_schema.py 1.14 => 1.15 ===
--- Packages/ZConfig/tests/test_schema.py:1.14 Wed Feb 19 10:54:15 2003
+++ Packages/ZConfig/tests/test_schema.py Mon Feb 24 12:21:55 2003
@@ -691,6 +691,31 @@
self.assertRaises(ZConfig.ConfigurationError,
self.load_config_text, schema, "abc. 127.0.0.1")
+ def test_keytype_identifier(self):
+ schema = self.load_schema_text("""\
+ <schema keytype='identifier'>
+ <key name='foo' attribute='foo'/>
+ <key name='Foo' attribute='Foo'/>
+ </schema>
+ """)
+ conf = self.load_config_text(schema,
+ "Foo Foo-value\n"
+ "foo foo-value\n")
+ self.assertEqual(conf.foo, "foo-value")
+ self.assertEqual(conf.Foo, "Foo-value")
+ # key mis-match based on case:
+ self.assertRaises(ZConfig.ConfigurationError,
+ self.load_config_text, schema, "FOO frob\n")
+ # attribute names conflict, since the keytype isn't used to
+ # generate attribute names
+ self.assertRaises(ZConfig.SchemaError,
+ self.load_schema_text, """\
+ <schema keytype='identifier'>
+ <key name='foo'/>
+ <key name='Foo'/>
+ </schema>
+ """)
+
def test_datatype_casesensitivity(self):
self.load_schema_text("<schema datatype='NULL'/>")