[Zodb-checkins] CVS: Packages/ZConfig/tests - test_schema.py:1.1.2.28

Fred L. Drake, Jr. fred@zope.com
Thu, 19 Dec 2002 12:36:19 -0500


Update of /cvs-repository/Packages/ZConfig/tests
In directory cvs.zope.org:/tmp/cvs-serv2548

Modified Files:
      Tag: zconfig-schema-devel-branch
	test_schema.py 
Log Message:
More tests checking support for arbitrary keys.


=== Packages/ZConfig/tests/test_schema.py 1.1.2.27 => 1.1.2.28 ===
--- Packages/ZConfig/tests/test_schema.py:1.1.2.27	Thu Dec 19 11:51:27 2002
+++ Packages/ZConfig/tests/test_schema.py	Thu Dec 19 12:36:18 2002
@@ -326,6 +326,27 @@
         conf = self.load_config_text(schema, "some-key 42\n some-key 43")
         self.assertEqual(conf.keymap, {'some-key': [42, 43]})
 
+    def test_arbitrary_keys_with_others(self):
+        schema = self.load_schema_text(
+            "<schema>"
+            "  <key name='k1' default='v1'/>"
+            "  <key name='k2' default='2' datatype='integer'/>"
+            "  <key name='+' required='yes' attribute='keymap'"
+            "       datatype='integer'/>"
+            "</schema>")
+        conf = self.load_config_text(schema, "some-key 42 \n k2 3")
+        self.assertEqual(conf.k1, 'v1')
+        self.assertEqual(conf.k2, 3)
+        self.assertEqual(conf.keymap, {'some-key': 42})
+
+    def test_arbitrary_key_missing(self):
+        schema = self.load_schema_text(
+            "<schema>"
+            "  <key name='+' required='yes' attribute='keymap' />"
+            "</schema>")
+        self.assertRaises(ZConfig.ConfigurationError,
+                          self.load_config_text, schema, "# empty config file")
+
     def test_arbitrary_key_bad_schema(self):
         self.assertRaises(ZConfig.SchemaError,
                           self.load_schema_text,