Mercurial > hgrepos > Python > libs > ConfigMix
diff tests/test.py @ 442:94cf5a8722d6
Add proper .get() support for jailed and unjailed configurations
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Fri, 10 Dec 2021 03:00:11 +0100 |
| parents | 9d20fab53a19 |
| children | b95c12781497 |
line wrap: on
line diff
--- a/tests/test.py Fri Dec 10 02:20:54 2021 +0100 +++ b/tests/test.py Fri Dec 10 03:00:11 2021 +0100 @@ -794,6 +794,23 @@ self.assertTrue((u"tree1", u"tree2") in cfg) self.assertFalse((u"tree1", u"non-existing-tree2") in cfg) + def test43_get_with_string(self): + cfg = self._load(os.path.join(TESTDATADIR, "conf10.py")) + self.assertEqual( + u"in the root namespace", + cfg.get(u"key1")) + self.assertTrue( + cfg.get(u"key1-not", default=None) is None) + + def test43_get_with_path(self): + cfg = self._load(os.path.join(TESTDATADIR, "conf10.py")) + self.assertEqual( + 0x20, + cfg.get((u"tree1", u"key3"))) + self.assertEqual( + 0x1, + cfg.get((u"no", u"key"), default=0x1)) + class T02LoadAndMerge(_T02MixinLoadAndMerge, unittest.TestCase): @@ -1624,6 +1641,45 @@ self.assertTrue([u"tree2", u"key5"] in jcfg) self.assertFalse([u"tree2", u"no-key"] in jcfg) + def test_get_with_string(self): + cfg = configmix.load(os.path.join(TESTDATADIR, "conf10.py")) + jcfg = cfg.jailed(rootpath=(u"tree1",)) + + self.assertEqual( + 0x20, + jcfg.get(u"key3")) + self.assertEqual( + 0x2, + jcfg.get(u"no-key3", default=0x2)) + + def test_get_with_path(self): + cfg = configmix.load(os.path.join(TESTDATADIR, "conf10.py")) + jcfg = cfg.jailed(rootpath=(u"tree1",)) + + self.assertEqual( + 0x20, + jcfg.get((u"key3",))) + self.assertEqual( + 0x3, + jcfg.get((u"no-key",), default=0x3)) + self.assertEqual( + u"off", + jcfg.get((u"tree2", u"key6"))) + self.assertEqual( + u"the default", + jcfg.get((u"no", u"key"), default=u"the default")) + self.assertTrue( + jcfg.get((u"no", u"key")) is None) + + self.assertEqual( + u"off", + jcfg.get([u"tree2", u"key6"])) + self.assertEqual( + u"the default", + jcfg.get([u"no", u"key"], default=u"the default")) + self.assertTrue( + jcfg.get([u"no", u"key"]) is None) + if __name__ == "__main__": unittest.main()
