mirror of
https://github.com/harttle/liquidjs.git
synced 2026-09-15 04:10:40 -07:00
fix: incorrect error message for browser UMD bundle
This commit is contained in:
+7
-9
@@ -7,18 +7,16 @@ export abstract class LiquidError extends Error {
|
|||||||
public context = ''
|
public context = ''
|
||||||
private originalError?: Error
|
private originalError?: Error
|
||||||
public constructor (err: Error | string, token: Token) {
|
public constructor (err: Error | string, token: Token) {
|
||||||
|
/**
|
||||||
|
* note: for ES5 targeting, `this` will be replaced by return value of Error(),
|
||||||
|
* thus everything on `this` will be lost, avoid calling `LiquidError` methods here
|
||||||
|
*/
|
||||||
super(typeof err === 'string' ? err : err.message)
|
super(typeof err === 'string' ? err : err.message)
|
||||||
if (typeof err !== 'string') this.defineUnEnumerable('originalError', err)
|
if (typeof err !== 'string') Object.defineProperty(this, 'originalError', { value: err, enumerable: false })
|
||||||
this.defineUnEnumerable('token', token)
|
Object.defineProperty(this, 'token', { value: token, enumerable: false })
|
||||||
}
|
|
||||||
private defineUnEnumerable (property: string, value: unknown) {
|
|
||||||
Object.defineProperty(this, property, {
|
|
||||||
value: value,
|
|
||||||
enumerable: false
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
protected update () {
|
protected update () {
|
||||||
this.defineUnEnumerable('context', mkContext(this.token))
|
Object.defineProperty(this, 'context', { value: mkContext(this.token), enumerable: false })
|
||||||
this.message = mkMessage(this.message, this.token)
|
this.message = mkMessage(this.message, this.token)
|
||||||
this.stack = this.message + '\n' + this.context +
|
this.stack = this.message + '\n' + this.context +
|
||||||
'\n' + this.stack
|
'\n' + this.stack
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
const LiquidUMD = require('../../dist/liquid.browser.umd.js').Liquid
|
||||||
|
|
||||||
|
describe('browser', function () {
|
||||||
|
it('should yield unclosed output error', () => {
|
||||||
|
const engine = new LiquidUMD()
|
||||||
|
return expect(engine.parseAndRender('{{huh')).rejects.toMatchObject({
|
||||||
|
message: 'output "{{huh" not closed, line:1, col:1'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user