comparison 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
comparison
equal deleted inserted replaced
319:5427ca342c1e 320:98490375d90c
708 # but not that .getvar does not **not** 708 # but not that .getvar does not **not**
709 v2 = self._cfg.getvarl("expand-ref-value", "key0") 709 v2 = self._cfg.getvarl("expand-ref-value", "key0")
710 self.assertEqual("{{testref.here.params.params.evalex}}", v2) 710 self.assertEqual("{{testref.here.params.params.evalex}}", v2)
711 711
712 712
713 class T07Quoting(unittest.TestCase):
714
715 def setUp(self):
716 self._reset()
717 self._cfg = configmix.load(os.path.join(TESTDATADIR, "quoting.yml"))
718
719 def tearDown(self):
720 self._reset()
721
722 def _reset(self):
723 configmix.clear_assoc()
724 for pat, fmode in configmix.DEFAULT_ASSOC:
725 configmix.set_assoc(pat, fmode)
726
727 def test_getvar(self):
728 self.assertEqual(
729 "value",
730 self._cfg.getvar("%x3a%x7c%x25%x2e.%x2e.%x3a.%x25.%x7c./"))
731 self.assertEqual(
732 "value",
733 self._cfg.getvar(
734 "%u003a%u007c%u0025%u002e.%u002e.%u003a.%u0025.%u007c./"))
735 self.assertEqual(
736 "value",
737 self._cfg.getvar(
738 "%U0000003a%U0000007c%U00000025%U0000002e.%U0000002e.%U0000003a.%U00000025.%U0000007c./"))
739
740 def test_getvar_s(self):
741 self.assertEqual(
742 "value",
743 self._cfg.getvar_s("%x3a%x7c%x25%x2e.%x2e.%x3a.%x25.%x7c./"))
744 self.assertEqual(
745 "value",
746 self._cfg.getvar_s(
747 "%u003a%u007c%u0025%u002e.%u002e.%u003a.%u0025.%u007c./"))
748 self.assertEqual(
749 "value",
750 self._cfg.getvar_s(
751 "%U0000003a%U0000007c%U00000025%U0000002e.%U0000002e.%U0000003a.%U00000025.%U0000007c./"))
752
753 def test_getvarl(self):
754 self.assertEqual(
755 "value",
756 self._cfg.getvarl(":|%.", ".", ":", "%", "|", "/"))
757
758 def test_getvarl_s(self):
759 self.assertEqual(
760 "value",
761 self._cfg.getvarl_s(":|%.", ".", ":", "%", "|", "/"))
762
763 def test_interpolation1(self):
764 self.assertEqual(
765 "value",
766 self._cfg.getvarl_s("events", "qc-2021.1-5G-summit", "xname"))
767
768 def test_interpolation2(self):
769 self.assertEqual(
770 "value",
771 self._cfg.getvar_s("events.qc-2021%x2e1-5G-summit.xname"))
772
773 def test_reference(self):
774 self.assertEqual(
775 "value",
776 self._cfg.getvar_s("events.qc-2021%x2e1-5G-summit.xref"))
777
778
713 if __name__ == "__main__": 779 if __name__ == "__main__":
714 unittest.main() 780 unittest.main()