mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-11-09 06:36:34 +00:00
Fix variable definition test to recognize block-style Jinja 'set ... endset' statements
This update extends the regex to detect block-style variable definitions such as:
{% set var %} ... {% endset %}
Previously, only inline 'set var =' syntax was recognized, causing false positives
like '_snippet' being flagged as undefined in Jinja templates.
Reference: https://chatgpt.com/share/68f6799a-eb80-800f-ab5c-7c196d4c4661
This commit is contained in:
@@ -51,6 +51,9 @@ class TestVariableDefinitions(unittest.TestCase):
|
||||
|
||||
# {% set var = ... %} (allow trimmed variants)
|
||||
self.jinja_set_def = re.compile(r'{%\s*-?\s*set\s+([a-zA-Z_]\w*)\s*=')
|
||||
|
||||
# {% set var %} ... {% endset %} (block-style set)
|
||||
self.jinja_set_block_def = re.compile(r'{%\s*-?\s*set\s+([a-zA-Z_]\w*)\s*-?%}')
|
||||
|
||||
# {% for x in ... %} or {% for k, v in ... %} (allow trimmed variants)
|
||||
self.jinja_for_def = re.compile(
|
||||
@@ -159,6 +162,10 @@ class TestVariableDefinitions(unittest.TestCase):
|
||||
for m in self.jinja_set_def.finditer(line):
|
||||
self.defined.add(m.group(1))
|
||||
|
||||
# Count block-style set as a definition, too
|
||||
for m in self.jinja_set_block_def.finditer(line):
|
||||
self.defined.add(m.group(1))
|
||||
|
||||
for m in self.jinja_for_def.finditer(line):
|
||||
self.defined.add(m.group(1))
|
||||
if m.group(2):
|
||||
|
||||
Reference in New Issue
Block a user