import HoganJsUtils from '../hoganjs-utils'; import { CSSLineClass } from '../render-utils'; describe('HoganJsUtils', () => { describe('render', () => { it('should render view', () => { const hoganJsUtils = new HoganJsUtils({}); const result = hoganJsUtils.render('generic', 'empty-diff', { contentClass: 'd2h-code-line', CSSLineClass: CSSLineClass, }); expect(result).toMatchInlineSnapshot(` "
{{myName}}
'); const hoganJsUtils = new HoganJsUtils({ compiledTemplates: { 'generic-empty-diff': emptyDiffTemplate } }); const result = hoganJsUtils.render('generic', 'empty-diff', { myName: 'Rodrigo Fernandes' }); expect(result).toMatchInlineSnapshot(`"Rodrigo Fernandes
"`); }); it('should allow templates to be overridden with uncompiled templates', () => { const emptyDiffTemplate = '{{myName}}
'; const hoganJsUtils = new HoganJsUtils({ rawTemplates: { 'generic-empty-diff': emptyDiffTemplate } }); const result = hoganJsUtils.render('generic', 'empty-diff', { myName: 'Rodrigo Fernandes' }); expect(result).toMatchInlineSnapshot(`"Rodrigo Fernandes
"`); }); it('should allow templates to be overridden giving priority to raw templates', () => { const emptyDiffTemplate = HoganJsUtils.compile('Not used!
'); const emptyDiffTemplateUncompiled = '{{myName}}
'; const hoganJsUtils = new HoganJsUtils({ compiledTemplates: { 'generic-empty-diff': emptyDiffTemplate }, rawTemplates: { 'generic-empty-diff': emptyDiffTemplateUncompiled }, }); const result = hoganJsUtils.render('generic', 'empty-diff', { myName: 'Rodrigo Fernandes' }); expect(result).toMatchInlineSnapshot(`"Rodrigo Fernandes
"`); }); }); });