Skip to content

Commit e2bba1c

Browse files
committed
Add test demonstrating that meta context variable overrides should be
scoped
1 parent 6bcb7cb commit e2bba1c

File tree

3 files changed

+30
-0
lines changed

3 files changed

+30
-0
lines changed

src/test/java/com/hubspot/jinjava/EagerTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1669,4 +1669,13 @@ public void itHandlesDeferredContinueInForLoop() {
16691669
public void itReconstructsFromedMacro() {
16701670
expectedTemplateInterpreter.assertExpectedOutput("reconstructs-fromed-macro/test");
16711671
}
1672+
1673+
@Test
1674+
public void itAllowsOverridingMetaContextVariableInChildScope() {
1675+
interpreter.getContext().addMetaContextVariables(Collections.singleton("meta"));
1676+
interpreter.getContext().put("meta", "META");
1677+
expectedTemplateInterpreter.assertExpectedOutputNonIdempotent(
1678+
"allows-overriding-meta-context-variable-in-child-scope/test"
1679+
);
1680+
}
16721681
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
META
2+
{% set meta = 'META' %}\
3+
{% for __ignored__ in [0] %}
4+
{% if deferred %}
5+
{% set meta = 'new meta' %}
6+
new meta
7+
{% else %}
8+
No op
9+
{% endif %}
10+
{% endfor %}
11+
META
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{{ meta }}
2+
{% for i in range (1) %}
3+
{% if deferred %}
4+
{% set meta = 'new meta' %}
5+
{{ meta }}
6+
{% else %}
7+
No op
8+
{% endif %}
9+
{% endfor %}
10+
{{ meta }}

0 commit comments

Comments
 (0)