diff tests/test.py @ 419:079a82129110

Allow the empty variable name to retrieve the root configuration object
author Franz Glasner <fzglas.hg@dom66.de>
date Thu, 02 Dec 2021 09:22:22 +0100
parents bb5f11abd12a
children 40be1d25ff1c
line wrap: on
line diff
--- a/tests/test.py	Thu Dec 02 01:24:53 2021 +0100
+++ b/tests/test.py	Thu Dec 02 09:22:22 2021 +0100
@@ -764,6 +764,26 @@
             set([u"name", u"pwd"]),
             set(cfg.getkeys(u"db.user")))
 
+    def test37_get_root_object(self):
+        cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml"))
+        self.assertTrue(cfg.getvarl() is cfg)
+
+    def test38_get_root_object(self):
+        cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml"))
+        self.assertTrue(cfg.getvar(u"") is cfg)
+
+    def test39_get_root_keys(self):
+        cfg = self._load(os.path.join(TESTDATADIR, "conf10.py"))
+        self.assertEqual(
+            set([u"key1", u"key2", u"tree1"]),
+            set(cfg.getkeys(u"")))
+
+    def test39b_get_root_keys(self):
+        cfg = self._load(os.path.join(TESTDATADIR, "conf10.py"))
+        self.assertEqual(
+            set([u"key1", u"key2", u"tree1"]),
+            set(cfg.getkeysl()))
+
 
 class T02LoadAndMerge(_T02MixinLoadAndMerge, unittest.TestCase):
 
@@ -1499,6 +1519,18 @@
             set([u"key3", u"tree2"]),
             set(jcfg.getkeysl()))
 
+    def test_getkeys_all_empty_paths(self):
+        cfg = configmix.load(os.path.join(TESTDATADIR, "conf10.py"))
+        jcfg = cfg.jailed(rootpath=tuple())
+
+        self.assertEqual(
+            set([u"key1", u"key2", u"tree1"]),
+            set(jcfg.getkeysl()))
+
+        self.assertEqual(
+            set([u"key1", u"key2", u"tree1"]),
+            set(jcfg.getkeys(u"")))
+
 
 if __name__ == "__main__":
     unittest.main()