# HG changeset patch # User Franz Glasner # Date 1653909559 -7200 # Node ID 213f0ec3bbbc20074fc7813f1546c0f93aa5dd3a # Parent 2b1c7a68f91335d5b76c0db6f65249d32e71cd93 Test list access with negative indexes diff -r 2b1c7a68f913 -r 213f0ec3bbbc tests/test.py --- a/tests/test.py Mon May 30 09:31:29 2022 +0200 +++ b/tests/test.py Mon May 30 13:19:19 2022 +0200 @@ -967,6 +967,20 @@ idx, cfg.getvar_s(u"the-list.~%d~.entry" % (idx, ))) + def test51_neg_index_access_to_lists_with_subdicts(self): + cfg = self._load(os.path.join(TESTDATADIR, + "index-access-for-jails.yml")) + self.assertEqual( + 2, + cfg.getvarl_s(u"the-list", -1, u"entry")) + + def test52_neg_index_access_to_lists_with_subdicts(self): + cfg = self._load(os.path.join(TESTDATADIR, + "index-access-for-jails.yml")) + self.assertEqual( + 2, + cfg.getvar_s(u"the-list.~%d~.entry" % (-1, ))) + class T02LoadAndMerge(_T02MixinLoadAndMerge, unittest.TestCase): @@ -1915,6 +1929,14 @@ self.assertEqual((u"the-list", idx), jcfg._path) self.assertEqual(u"the-list.~%d~." % (idx, ), jcfg._pathstr) + def test_negative_index_jail_access(self): + cfg = configmix.load(os.path.join( + TESTDATADIR, "index-access-for-jails.yml")) + jcfg = cfg.jailed(rootpath=(u"the-list", -1)) + self.assertEqual(2, jcfg.getvarl_s("entry")) + self.assertEqual((u"the-list", -1), jcfg._path) + self.assertEqual(u"the-list.~-1~.", jcfg._pathstr) + def test_index_jail_access_with_strpath(self): cfg = configmix.load(os.path.join( TESTDATADIR, "index-access-for-jails.yml"))