fix: report error for malformed else/elsif/endif/endfor, #713

This commit is contained in:
Harttle
2024-07-05 01:23:33 +08:00
parent d141c4bdd2
commit 22b5a12333
8 changed files with 41 additions and 47 deletions
+2 -10
View File
@@ -471,19 +471,11 @@ describe('Issues', function () {
})
it('#670 Should not render anything after an else branch', () => {
const engine = new Liquid()
const result = engine.parseAndRenderSync('{% assign value = "this" %}' +
'{% if false %}don\'t show' +
'{% else %}show {{ value }}' +
'{% else %}don\'t show{% endif %}', {})
expect(result).toEqual('show this')
expect(() => engine.parseAndRenderSync('{% assign value = "this" %}{% if false %}{% else %}{% else %}{% endif %}')).toThrow('duplicated else')
})
it('#672 Should not render an elseif after an else branch', () => {
const engine = new Liquid()
const result = engine.parseAndRenderSync('{% if false %}don\'t show' +
'{% else %}show' +
'{% elsif true %}don\'t show' +
'{% endif %}', {})
expect(result).toEqual('show')
expect(() => engine.parseAndRenderSync('{% if false %}{% else %}{% elsif true %}{% endif %}')).toThrow('unexpected elsif after else')
})
it('#675 10.10.1 Operator: contains regression', () => {
const engine = new Liquid()