Skip to content

Commit 7a7be47

Browse files
committed
Test that words inside nested expressions get deferred
1 parent c1e2a7a commit 7a7be47

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

src/test/java/com/hubspot/jinjava/util/EagerExpressionResolverTest.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ private JinjavaInterpreter getInterpreter(boolean evaluateMapKeys) throws Except
6060
.withLegacyOverrides(
6161
LegacyOverrides.newBuilder().withEvaluateMapKeys(evaluateMapKeys).build()
6262
)
63+
.withNestedInterpretationEnabled(true)
6364
.build()
6465
);
6566
jinjava
@@ -627,6 +628,19 @@ public void itHandlesDeferredChoice() {
627628
.isEqualTo("deferred");
628629
}
629630

631+
@Test
632+
public void itGetsDeferredWordsFromNestedExpression() {
633+
context.put("foo", 4);
634+
EagerExpressionResult eagerExpressionResult = eagerResolveExpression(
635+
"deferred.append('{{ foo }}')"
636+
);
637+
interpreter.getContext().setThrowInterpreterErrors(true);
638+
String partiallyResolved = eagerExpressionResult.toString();
639+
assertThat(partiallyResolved).isEqualTo("deferred.append('{{ foo }}')");
640+
assertThat(eagerExpressionResult.getDeferredWords())
641+
.containsExactlyInAnyOrder("deferred.append", "foo");
642+
}
643+
630644
@Test
631645
public void itHandlesDeferredNamedParameter() {
632646
context.put("foo", "foo");

0 commit comments

Comments
 (0)