changeset 665:9f0842a942b2

Tests for index sub-jail accesses
author Franz Glasner <fzglas.hg@dom66.de>
date Fri, 03 Jun 2022 01:38:04 +0200
parents c9c2739940d4
children 0eff8441c4b9
files tests/test.py
diffstat 1 files changed, 22 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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):