comparison 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
comparison
equal deleted inserted replaced
441:9d20fab53a19 442:94cf5a8722d6
792 def test41_contains_with_path(self): 792 def test41_contains_with_path(self):
793 cfg = self._load(os.path.join(TESTDATADIR, "conf10.py")) 793 cfg = self._load(os.path.join(TESTDATADIR, "conf10.py"))
794 self.assertTrue((u"tree1", u"tree2") in cfg) 794 self.assertTrue((u"tree1", u"tree2") in cfg)
795 self.assertFalse((u"tree1", u"non-existing-tree2") in cfg) 795 self.assertFalse((u"tree1", u"non-existing-tree2") in cfg)
796 796
797 def test43_get_with_string(self):
798 cfg = self._load(os.path.join(TESTDATADIR, "conf10.py"))
799 self.assertEqual(
800 u"in the root namespace",
801 cfg.get(u"key1"))
802 self.assertTrue(
803 cfg.get(u"key1-not", default=None) is None)
804
805 def test43_get_with_path(self):
806 cfg = self._load(os.path.join(TESTDATADIR, "conf10.py"))
807 self.assertEqual(
808 0x20,
809 cfg.get((u"tree1", u"key3")))
810 self.assertEqual(
811 0x1,
812 cfg.get((u"no", u"key"), default=0x1))
813
797 814
798 class T02LoadAndMerge(_T02MixinLoadAndMerge, unittest.TestCase): 815 class T02LoadAndMerge(_T02MixinLoadAndMerge, unittest.TestCase):
799 816
800 def setUp(self): 817 def setUp(self):
801 self._load = configmix.load 818 self._load = configmix.load
1622 self.assertFalse((u"tree2", u"no-key") in jcfg) 1639 self.assertFalse((u"tree2", u"no-key") in jcfg)
1623 1640
1624 self.assertTrue([u"tree2", u"key5"] in jcfg) 1641 self.assertTrue([u"tree2", u"key5"] in jcfg)
1625 self.assertFalse([u"tree2", u"no-key"] in jcfg) 1642 self.assertFalse([u"tree2", u"no-key"] in jcfg)
1626 1643
1644 def test_get_with_string(self):
1645 cfg = configmix.load(os.path.join(TESTDATADIR, "conf10.py"))
1646 jcfg = cfg.jailed(rootpath=(u"tree1",))
1647
1648 self.assertEqual(
1649 0x20,
1650 jcfg.get(u"key3"))
1651 self.assertEqual(
1652 0x2,
1653 jcfg.get(u"no-key3", default=0x2))
1654
1655 def test_get_with_path(self):
1656 cfg = configmix.load(os.path.join(TESTDATADIR, "conf10.py"))
1657 jcfg = cfg.jailed(rootpath=(u"tree1",))
1658
1659 self.assertEqual(
1660 0x20,
1661 jcfg.get((u"key3",)))
1662 self.assertEqual(
1663 0x3,
1664 jcfg.get((u"no-key",), default=0x3))
1665 self.assertEqual(
1666 u"off",
1667 jcfg.get((u"tree2", u"key6")))
1668 self.assertEqual(
1669 u"the default",
1670 jcfg.get((u"no", u"key"), default=u"the default"))
1671 self.assertTrue(
1672 jcfg.get((u"no", u"key")) is None)
1673
1674 self.assertEqual(
1675 u"off",
1676 jcfg.get([u"tree2", u"key6"]))
1677 self.assertEqual(
1678 u"the default",
1679 jcfg.get([u"no", u"key"], default=u"the default"))
1680 self.assertTrue(
1681 jcfg.get([u"no", u"key"]) is None)
1682
1627 1683
1628 if __name__ == "__main__": 1684 if __name__ == "__main__":
1629 unittest.main() 1685 unittest.main()