fix: throw ParseError instead of RenderError for invalid assign expression, closes #519

This commit is contained in:
Harttle
2022-07-15 00:41:51 +08:00
parent 0aca2dd8c1
commit c41a5d5bab
3 changed files with 11 additions and 6 deletions
+4 -3
View File
@@ -1,4 +1,4 @@
import { Liquid } from '../../../../src/liquid'
import { ParseError, Liquid } from '../../../../src/liquid'
import { expect, use } from 'chai'
import * as chaiAsPromised from 'chai-as-promised'
@@ -16,9 +16,10 @@ describe('tags/assign', function () {
const html = await liquid.parseAndRender(src)
return expect(html).to.equal('bar')
})
it('should throw when variable value illegal', async function () {
it('should throw when variable value illegal', function () {
const src = '{% assign foo = “bar” %}'
return expect(liquid.parseAndRender(src)).to.be.rejectedWith(/unexpected token at "“bar”"/)
expect(() => liquid.parse(src)).to.throw(/unexpected token at "“bar”"/)
expect(() => liquid.parse(src)).to.throw(ParseError)
})
it('should support assign to a number', async function () {
const src = '{% assign foo=10086 %}{{foo}}'