Mercurial > hgrepos > Python > libs > ConfigMix
changeset 651:fe1299825a9a
Tests for indexed accesses (jail and non-jail)
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Fri, 13 May 2022 08:53:48 +0200 |
| parents | 0d8c59610d89 |
| children | 64cf6710c0db |
| files | tests/test.py |
| diffstat | 1 files changed, 27 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test.py Fri May 13 08:15:43 2022 +0200 +++ b/tests/test.py Fri May 13 08:53:48 2022 +0200 @@ -457,7 +457,7 @@ def test13_keyerror(self): cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml")) self.assertRaises(KeyError, cfg.getvar_s, "non.existing.key") - self.assertRaises(KeyError, cfg.getvar_s, "non.existing.key") + self.assertRaises(KeyError, cfg.getvar_s, "non.existing.key") def test13a_keyerror_without_cache(self): cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml")) @@ -929,14 +929,29 @@ def test46_reenable_cache(self): cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml")) - self.assertTrue(cfg.getvarl() is cfg) + self.assertTrue(cfg.getvarl() is cfg) cfg.disable_cache() - self.assertTrue(cfg.getvarl() is cfg) + self.assertTrue(cfg.getvarl() is cfg) cfg.clear_cache() - self.assertTrue(cfg.getvarl() is cfg) + self.assertTrue(cfg.getvarl() is cfg) cfg.enable_cache() self.assertTrue(cfg.getvarl() is cfg) + def test47_indexed_access_to_lists(self): + cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml")) + for i in range(4): + self.assertEqual( + i, + cfg.getvarl_s(u"test", u"List", i)) + + def test48_index_access_to_lists_with_subdicts(self): + cfg = self._load(os.path.join(TESTDATADIR, + "index-access-for-jails.yml")) + for idx in range(len(cfg.getvarl(u"the-list"))): + self.assertEqual( + idx, + cfg.getvarl_s(u"the-list", idx, u"entry")) + class T02LoadAndMerge(_T02MixinLoadAndMerge, unittest.TestCase): @@ -1875,6 +1890,14 @@ self.assertEqual(u"val2", jcfg[1]) self.assertEqual(u"in the root namespace", jcfg[2]) + def test_index_jail_access(self): + cfg = configmix.load(os.path.join( + TESTDATADIR, "index-access-for-jails.yml")) + for idx in range(len(cfg.getvarl(u"the-list"))): + jcfg = cfg.jailed(rootpath=(u"the-list", idx)) + self.assertEqual(1, len(jcfg)) + self.assertEqual(idx, jcfg.getvarl_s(u"entry")) + class _TParserMixin: def test_quote_and_unquote_empty(self):
