]> git.ipfire.org Git - thirdparty/jinja.git/commitdiff
Fix handling of tests which check constants
authorKevin Brown <kevin@kevin-brown.com>
Fri, 15 May 2020 00:04:57 +0000 (20:04 -0400)
committerKevin Brown <kevin@kevin-brown.com>
Fri, 15 May 2020 00:04:57 +0000 (20:04 -0400)
Because of how the parser works, it does not differentiate between
constants and function names, so this needs to convert it back.

src/jinja2/new_parser.py

index b0cba6546660cc238a4e28dac0ecdc52f4af646d..ea34f9bb2e6df9eca50fe6cfabe0c31b7126096a 100644 (file)
@@ -558,6 +558,14 @@ def parse_conditional_expression_test(ast):
         kwargs = call.kwargs\r
         dynamic_args = call.dyn_args\r
         dynamic_kwargs = call.dyn_kwargs\r
+    elif isinstance(test_function, nodes.Const):\r
+        const_map = {\r
+            None: 'none',\r
+            True: 'true',\r
+            False: 'false',\r
+        }\r
+\r
+        name = const_map[test_function.value]\r
     else:\r
         name = test_function.name\r
 \r