@@ -374,7 +374,7 @@ describe('renderString', () => {
374374
375375 it ( 'throws RenderError if given malformed template' , done => {
376376 renderer . renderString ( '{{' , context ) . catch ( e => {
377- expect ( e instanceof HandlebarsRenderer . errors . RenderError ) . to . be . true ( ) ;
377+ expect ( e instanceof HandlebarsRenderer . errors . CompileError ) . to . be . true ( ) ;
378378 done ( ) ;
379379 } ) ;
380380 } ) ;
@@ -514,3 +514,56 @@ describe('logging', () => {
514514 } ) ;
515515
516516} ) ;
517+
518+ // STRF-12276
519+ describe ( 'object manipulation fix' , ( ) => {
520+ let sandbox , logger ;
521+ let consoleErrorCopy = console . error ;
522+ const templateString = `{{#JSONparse}} '{"a":"b"}'{{/JSONparse}}` ;
523+
524+ beforeEach ( done => {
525+ sandbox = Sinon . createSandbox ( ) ;
526+ logger = {
527+ info : Sinon . fake ( ) ,
528+ warn : Sinon . fake ( ) ,
529+ error : Sinon . fake ( ) ,
530+ } ;
531+ console = {
532+ log : console . log ,
533+ error : Sinon . fake ( ) ,
534+ } ;
535+ done ( ) ;
536+ } ) ;
537+
538+ afterEach ( done => {
539+ console . error = consoleErrorCopy ;
540+ sandbox . restore ( ) ;
541+ done ( ) ;
542+ } ) ;
543+
544+ it ( 'shouldnt print when use renderString' , async ( ) => {
545+ const renderer = new HandlebarsRenderer ( { } , { } , 'v4' , logger ) ;
546+ try {
547+ await renderer . renderString ( templateString , { } ) ;
548+ expect ( logger . error . called ( ) ) . to . equal ( false ) ;
549+ } catch ( e ) {
550+ expect ( e instanceof HandlebarsRenderer . errors . RenderError ) . to . be . true ( ) ;
551+ }
552+ } ) ;
553+
554+ it ( 'shouldnt print when use render' , async ( ) => {
555+ const renderer = new HandlebarsRenderer ( { } , { } , 'v4' , logger ) ;
556+ try {
557+ const templates = { 'foo' : templateString } ;
558+
559+ const processor = renderer . getPreProcessor ( ) ;
560+ renderer . addTemplates ( processor ( templates ) ) ;
561+ await renderer . render ( 'foo' , { } ) ;
562+ expect ( logger . error . called ( ) ) . to . equal ( false ) ;
563+ } catch ( e ) {
564+ expect ( e instanceof HandlebarsRenderer . errors . RenderError ) . to . be . true ( ) ;
565+ }
566+ } ) ;
567+ } ) ;
568+
569+
0 commit comments