# HG changeset patch # User Franz Glasner # Date 1654213084 -7200 # Node ID 9f0842a942b2ecee18ed8f015032cc162acb9260 # Parent c9c2739940d42c836fa22344198236f44cc176a6 Tests for index sub-jail accesses diff -r c9c2739940d4 -r 9f0842a942b2 tests/test.py --- a/tests/test.py Fri Jun 03 00:55:26 2022 +0200 +++ b/tests/test.py Fri Jun 03 01:38:04 2022 +0200 @@ -1935,6 +1935,17 @@ self.assertEqual((u"the-list", idx), jcfg._path) self.assertEqual(u"the-list.~%d~." % (idx, ), jcfg._pathstr) + def test_index_subjail_access(self): + cfg = configmix.load(os.path.join( + TESTDATADIR, "index-access-for-jails.yml")) + jcfg = cfg.jailed(rootpath=(u"the-list",)) + for idx in range(len(jcfg)): + jcfg2 = jcfg.jailed(rootpath=(idx,)) + self.assertEqual(1, len(jcfg2)) + self.assertEqual(idx, jcfg2.getvarl_s(u"entry")) + self.assertEqual((u"the-list", idx), jcfg2._path) + self.assertEqual(u"the-list.~%d~." % (idx, ), jcfg2._pathstr) + def test_negative_index_jail_access(self): cfg = configmix.load(os.path.join( TESTDATADIR, "index-access-for-jails.yml")) @@ -1953,6 +1964,17 @@ self.assertEqual((u"the-list", idx), jcfg._path) self.assertEqual(u"the-list.~%d~." % (idx, ), jcfg._pathstr) + def test_index_subjail_access_with_strpath(self): + cfg = configmix.load(os.path.join( + TESTDATADIR, "index-access-for-jails.yml")) + jcfg = cfg.jailed(root=u"the-list") + for idx in range(len(jcfg)): + jcfg2 = jcfg.jailed(root=u"~%d~" % (idx, )) + self.assertEqual(1, len(jcfg2)) + self.assertEqual(idx, jcfg2.getvarl_s(u"entry")) + self.assertEqual((u"the-list", idx), jcfg2._path) + self.assertEqual(u"the-list.~%d~." % (idx, ), jcfg2._pathstr) + class _TParserMixin: def test_quote_and_unquote_empty(self):