@@ -28,7 +28,7 @@ describe('error', function () {
28
28
'TokenizationError'
29
29
]
30
30
const err = await expect ( engine . parseAndRender ( html . join ( '\n' ) ) ) . be . rejected
31
- expect ( err . message ) . to . equal ( 'illegal tag syntax, line:3' )
31
+ expect ( err . message ) . to . equal ( 'illegal tag syntax, line:3, col:2 ' )
32
32
expect ( err . stack ) . to . contain ( message . join ( '\n' ) )
33
33
expect ( err . name ) . to . equal ( 'TokenizationError' )
34
34
} )
@@ -37,10 +37,10 @@ describe('error', function () {
37
37
const err = await expect ( engine . parseAndRender ( html ) ) . be . rejected
38
38
expect ( err . input ) . to . equal ( html )
39
39
} )
40
- it ( 'should contain line number in err.line' , async function ( ) {
40
+ it ( 'should contain line number in err.token. line' , async function ( ) {
41
41
const err = await expect ( engine . parseAndRender ( '1\n2\n{% . a %}\n4' ) ) . be . rejected
42
42
expect ( err . name ) . to . equal ( 'TokenizationError' )
43
- expect ( err . line ) . to . equal ( 3 )
43
+ expect ( err . token . line ) . to . equal ( 3 )
44
44
} )
45
45
it ( 'should contain stack in err.stack' , async function ( ) {
46
46
const err = await expect ( engine . parseAndRender ( '{% . a %}' ) ) . be . rejected
@@ -68,6 +68,12 @@ describe('error', function () {
68
68
expect ( err . name ) . to . equal ( 'TokenizationError' )
69
69
expect ( err . file ) . to . equal ( path . resolve ( '/foo.html' ) )
70
70
} )
71
+ it ( 'should throw error with line and pos if tag unmatched' , async function ( ) {
72
+ const err = await expect ( engine . parseAndRender ( '1\n2\nfoo{% assign a = 4 }\n4' ) ) . be . rejected
73
+ expect ( err . name ) . to . equal ( 'TokenizationError' )
74
+ expect ( err . token . line ) . to . equal ( 3 )
75
+ expect ( err . token . col ) . to . equal ( 4 )
76
+ } )
71
77
} )
72
78
73
79
describe ( 'RenderError' , function ( ) {
@@ -128,7 +134,7 @@ describe('error', function () {
128
134
'RenderError'
129
135
]
130
136
const err = await expect ( engine . parseAndRender ( html . join ( '\n' ) ) ) . be . rejected
131
- expect ( err . message ) . to . equal ( 'intended render error, line:4' )
137
+ expect ( err . message ) . to . equal ( 'intended render error, line:4, col:2 ' )
132
138
expect ( err . stack ) . to . contain ( message . join ( '\n' ) )
133
139
expect ( err . name ) . to . equal ( 'RenderError' )
134
140
} )
@@ -157,7 +163,7 @@ describe('error', function () {
157
163
const err = await expect ( engine . parseAndRender ( html ) ) . be . rejected
158
164
console . log ( err . message )
159
165
console . log ( err . stack )
160
- expect ( err . message ) . to . equal ( `intended render error, file:${ path . resolve ( '/throwing-tag.html' ) } , line:4` )
166
+ expect ( err . message ) . to . equal ( `intended render error, file:${ path . resolve ( '/throwing-tag.html' ) } , line:4, col:2 ` )
161
167
expect ( err . stack ) . to . contain ( message . join ( '\n' ) )
162
168
expect ( err . name ) . to . equal ( 'RenderError' )
163
169
} )
@@ -177,7 +183,7 @@ describe('error', function () {
177
183
'RenderError'
178
184
]
179
185
const err = await expect ( engine . parseAndRender ( html ) ) . be . rejected
180
- expect ( err . message ) . to . equal ( `intended render error, file:${ path . resolve ( '/throwing-tag.html' ) } , line:4` )
186
+ expect ( err . message ) . to . equal ( `intended render error, file:${ path . resolve ( '/throwing-tag.html' ) } , line:4, col:2 ` )
181
187
expect ( err . stack ) . to . contain ( message . join ( '\n' ) )
182
188
expect ( err . name ) . to . equal ( 'RenderError' )
183
189
} )
@@ -187,10 +193,10 @@ describe('error', function () {
187
193
expect ( err . input ) . to . equal ( html )
188
194
expect ( err . name ) . to . equal ( 'RenderError' )
189
195
} )
190
- it ( 'should contain line number in err.line' , async function ( ) {
196
+ it ( 'should contain line number in err.token. line' , async function ( ) {
191
197
const src = '1\n2\n{{1|throwingFilter}}\n4'
192
198
const err = await expect ( engine . parseAndRender ( src ) ) . be . rejected
193
- expect ( err . line ) . to . equal ( 3 )
199
+ expect ( err . token . line ) . to . equal ( 3 )
194
200
expect ( err . name ) . to . equal ( 'RenderError' )
195
201
} )
196
202
it ( 'should contain stack in err.stack' , async function ( ) {
@@ -260,7 +266,7 @@ describe('error', function () {
260
266
'ParseError: tag a not found'
261
267
]
262
268
const err = await expect ( engine . parseAndRender ( html . join ( '\n' ) ) ) . be . rejected
263
- expect ( err . message ) . to . equal ( 'tag a not found, line:4' )
269
+ expect ( err . message ) . to . equal ( 'tag a not found, line:4, col:2 ' )
264
270
expect ( err . stack ) . to . contain ( message . join ( '\n' ) )
265
271
expect ( err . name ) . to . equal ( 'ParseError' )
266
272
} )
@@ -275,14 +281,14 @@ describe('error', function () {
275
281
'ParseError: tag a not found'
276
282
]
277
283
const err = await expect ( engine . parseAndRender ( html . join ( '\n' ) ) ) . be . rejected
278
- expect ( err . message ) . to . equal ( 'tag a not found, line:2' )
284
+ expect ( err . message ) . to . equal ( 'tag a not found, line:2, col:2 ' )
279
285
expect ( err . stack ) . to . contain ( message . join ( '\n' ) )
280
286
} )
281
287
282
- it ( 'should contain line number in err.line' , async function ( ) {
288
+ it ( 'should contain line number in err.token. line' , async function ( ) {
283
289
const html = '<html>\n<head>\n\n{% raw %}\n\n'
284
290
const err = await expect ( engine . parseAndRender ( html ) ) . be . rejected
285
- expect ( err . line ) . to . equal ( 4 )
291
+ expect ( err . token . line ) . to . equal ( 4 )
286
292
} )
287
293
288
294
it ( 'should contain stack in err.stack' , async function ( ) {
0 commit comments