Mercurial > hgrepos > Python > libs > ConfigMix
diff tests/test.py @ 320:98490375d90c
Allow variable name quoting to be used in .getvar() and .getvar_s() and references
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Thu, 06 May 2021 09:45:51 +0200 |
| parents | 043a6412be3c |
| children | aac9dcea3446 |
line wrap: on
line diff
--- a/tests/test.py Wed May 05 23:12:01 2021 +0200 +++ b/tests/test.py Thu May 06 09:45:51 2021 +0200 @@ -710,5 +710,71 @@ self.assertEqual("{{testref.here.params.params.evalex}}", v2) +class T07Quoting(unittest.TestCase): + + def setUp(self): + self._reset() + self._cfg = configmix.load(os.path.join(TESTDATADIR, "quoting.yml")) + + def tearDown(self): + self._reset() + + def _reset(self): + configmix.clear_assoc() + for pat, fmode in configmix.DEFAULT_ASSOC: + configmix.set_assoc(pat, fmode) + + def test_getvar(self): + self.assertEqual( + "value", + self._cfg.getvar("%x3a%x7c%x25%x2e.%x2e.%x3a.%x25.%x7c./")) + self.assertEqual( + "value", + self._cfg.getvar( + "%u003a%u007c%u0025%u002e.%u002e.%u003a.%u0025.%u007c./")) + self.assertEqual( + "value", + self._cfg.getvar( + "%U0000003a%U0000007c%U00000025%U0000002e.%U0000002e.%U0000003a.%U00000025.%U0000007c./")) + + def test_getvar_s(self): + self.assertEqual( + "value", + self._cfg.getvar_s("%x3a%x7c%x25%x2e.%x2e.%x3a.%x25.%x7c./")) + self.assertEqual( + "value", + self._cfg.getvar_s( + "%u003a%u007c%u0025%u002e.%u002e.%u003a.%u0025.%u007c./")) + self.assertEqual( + "value", + self._cfg.getvar_s( + "%U0000003a%U0000007c%U00000025%U0000002e.%U0000002e.%U0000003a.%U00000025.%U0000007c./")) + + def test_getvarl(self): + self.assertEqual( + "value", + self._cfg.getvarl(":|%.", ".", ":", "%", "|", "/")) + + def test_getvarl_s(self): + self.assertEqual( + "value", + self._cfg.getvarl_s(":|%.", ".", ":", "%", "|", "/")) + + def test_interpolation1(self): + self.assertEqual( + "value", + self._cfg.getvarl_s("events", "qc-2021.1-5G-summit", "xname")) + + def test_interpolation2(self): + self.assertEqual( + "value", + self._cfg.getvar_s("events.qc-2021%x2e1-5G-summit.xname")) + + def test_reference(self): + self.assertEqual( + "value", + self._cfg.getvar_s("events.qc-2021%x2e1-5G-summit.xref")) + + if __name__ == "__main__": unittest.main()
