Skip to content

Commit

Permalink
fix: Allow lenientIf for multiple operands (issue #682) (#683)
Browse files Browse the repository at this point in the history
* allow `lenientIf` for multiple operands

* update tests
  • Loading branch information
amedve committed Apr 21, 2024
1 parent e09657c commit 490ff43
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 5 deletions.
2 changes: 1 addition & 1 deletion src/render/expression.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export class Expression {
}
operands.push(result)
} else {
operands.push(yield evalToken(token, ctx, lenient && this.postfix.length === 1))
operands.push(yield evalToken(token, ctx, lenient))
}
}
return operands[0]
Expand Down
13 changes: 9 additions & 4 deletions test/integration/liquid/strict.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,15 @@ describe('LiquidOptions#strict*', function () {
const html = await engine.render(tpl, ctx)
return expect(html).toBe('beforeXafter')
})
it('should still throw with an undefined variable in a compound `if` expression', function () {
const tpl = engine.parse('{% if notdefined == 15 %}a{% endif %}')
const fhtml = engine.render(tpl, ctx)
return expect(fhtml).rejects.toThrow(/undefined variable: notdefined/)
it('should not throw with an undefined variable in a compound `if` expression', async function () {
const tpl = engine.parse('before{% if notdefined == 15 %}X{% else %}Y{% endif %}after')
const html = await engine.render(tpl, ctx)
return expect(html).toBe('beforeYafter')
})
it('should correctly evaluate undefined variable in a compound `if` expression', async function () {
const tpl = engine.parse('before{% if notdefined != "value" %}X{% else %}Y{% endif %}after')
const html = await engine.render(tpl, ctx)
return expect(html).toBe('beforeXafter')
})
it('should allow an undefined variable when before the `default` filter', async function () {
const tpl = engine.parse('{{notdefined | default: "a" | tolower}}')
Expand Down

0 comments on commit 490ff43

Please sign in to comment.