comparison tests/test.py @ 441:9d20fab53a19

FIX: Handle "list"-type keys in __contains__ and __getitem__ properly: convert to tuples for contatenation with tuple
author Franz Glasner <fzglas.hg@dom66.de>
date Fri, 10 Dec 2021 02:20:54 +0100
parents bd27da55483a
children 94cf5a8722d6
comparison
equal deleted inserted replaced
440:f297c23f78f0 441:9d20fab53a19
1586 cfg = configmix.load(os.path.join(TESTDATADIR, "conf10.py")) 1586 cfg = configmix.load(os.path.join(TESTDATADIR, "conf10.py"))
1587 jcfg = cfg.jailed(rootpath=(u"tree1", u"tree2")) 1587 jcfg = cfg.jailed(rootpath=(u"tree1", u"tree2"))
1588 self.assertEqual( 1588 self.assertEqual(
1589 u"get this as `tree1.tree2.key4'", 1589 u"get this as `tree1.tree2.key4'",
1590 jcfg[(u"key4",)]) 1590 jcfg[(u"key4",)])
1591 self.assertEqual(
1592 u"get this as `tree1.tree2.key4'",
1593 jcfg[[u"key4"]])
1591 try: 1594 try:
1592 jcfg[(u"key3",)] 1595 jcfg[(u"key3",)]
1593 except KeyError: 1596 except KeyError:
1594 pass 1597 pass
1595 else: 1598 else:
1596 self.fail("KeyError expected") 1599 self.fail("KeyError expected")
1600 try:
1601 jcfg[[u"key3"]]
1602 except KeyError:
1603 pass
1604 else:
1605 self.fail("KeyError expected")
1597 1606
1598 def test_contains_with_string(self): 1607 def test_contains_with_string(self):
1599 cfg = configmix.load(os.path.join(TESTDATADIR, "conf10.py")) 1608 cfg = configmix.load(os.path.join(TESTDATADIR, "conf10.py"))
1600 jcfg = cfg.jailed(rootpath=(u"tree1",)) 1609 jcfg = cfg.jailed(rootpath=(u"tree1",))
1601 1610
1610 self.assertFalse((u"key3-not",) in jcfg) 1619 self.assertFalse((u"key3-not",) in jcfg)
1611 1620
1612 self.assertTrue((u"tree2", u"key5") in jcfg) 1621 self.assertTrue((u"tree2", u"key5") in jcfg)
1613 self.assertFalse((u"tree2", u"no-key") in jcfg) 1622 self.assertFalse((u"tree2", u"no-key") in jcfg)
1614 1623
1624 self.assertTrue([u"tree2", u"key5"] in jcfg)
1625 self.assertFalse([u"tree2", u"no-key"] in jcfg)
1626
1615 1627
1616 if __name__ == "__main__": 1628 if __name__ == "__main__":
1617 unittest.main() 1629 unittest.main()