@@ -233,6 +233,7 @@ describe('render', () => {
233233 'capitalize_foo' : '{{capitalize bar}}' ,
234234 'with_locale' : '{{locale_name}}' ,
235235 'with_template' : '{{template}}' ,
236+ 'assign_var_too_long' : '{{assignVar "foo" longString}}' ,
236237 } ;
237238 const context = {
238239 bar : 'baz'
@@ -325,6 +326,16 @@ describe('render', () => {
325326 done ( ) ;
326327 } ) ;
327328 } ) ;
329+
330+ it ( 'throws ValidationError (not RenderError) if a helper rejects its input, formatted like RenderError' , done => {
331+ renderer . render ( 'assign_var_too_long' , { longString : 'a' . repeat ( 1024 ) } ) . catch ( e => {
332+ expect ( e instanceof HandlebarsRenderer . errors . ValidationError ) . to . be . true ( ) ;
333+ expect ( e instanceof HandlebarsRenderer . errors . RenderError ) . to . be . false ( ) ;
334+ expect ( e . message ) . to . include ( 'assignVar helper value must be less than 1024 characters' ) ;
335+ expect ( e . message ) . to . include ( ' : ' ) ;
336+ done ( ) ;
337+ } ) ;
338+ } ) ;
328339} ) ;
329340
330341describe ( 'renderString' , ( ) => {
@@ -378,6 +389,16 @@ describe('renderString', () => {
378389 done ( ) ;
379390 } ) ;
380391 } ) ;
392+
393+ it ( 'throws ValidationError (not RenderError) if a helper rejects its input, formatted like RenderError' , done => {
394+ renderer . renderString ( '{{assignVar "foo" longString}}' , { longString : 'a' . repeat ( 1024 ) } ) . catch ( e => {
395+ expect ( e instanceof HandlebarsRenderer . errors . ValidationError ) . to . be . true ( ) ;
396+ expect ( e instanceof HandlebarsRenderer . errors . RenderError ) . to . be . false ( ) ;
397+ expect ( e . message ) . to . include ( 'assignVar helper value must be less than 1024 characters' ) ;
398+ expect ( e . message ) . to . include ( ' : ' ) ;
399+ done ( ) ;
400+ } ) ;
401+ } ) ;
381402} ) ;
382403
383404describe ( 'errors' , ( ) => {
0 commit comments