From: noah morrison Date: Fri, 16 Jan 2015 15:51:20 +0000 (-0500) Subject: Add a unittest for an edge-case recursion error. X-Git-Url: https://git.devinivas.org/?a=commitdiff_plain;h=5c4d14f8a5c238b76bfc1ff84d7c9919f0447bda;p=chevron.git Add a unittest for an edge-case recursion error. Currently this makes chevron run in an infinite loop (Until recursion depth limit happens) --- diff --git a/test_spec.py b/test_spec.py index 7787625..7b9bbe8 100755 --- a/test_spec.py +++ b/test_spec.py @@ -115,6 +115,20 @@ class ExpandedCoverage(unittest.TestCase): self.assertEqual(result, expected) + def test_recursion(self): + args = { + 'template': '{{# 1.2 }}{{# data }}{{.}}{{/ data }}{{/ 1.2 }}', + 'data': {'1': {'2': [{'data': ["1", "2", "3"]}]}} + } + + try: + result = chevron.render(**args) + except RuntimeError: + result = 'recursion' + expected = '123' + + self.assertEqual(result, expected) + # Run unit tests from command line if __name__ == "__main__":