import { TestBed } from '@angular/core/testing'; import { APP_CONFIG } from '../../../config/app-config.interface'; import { environment } from '../../../environments/environment'; import { MarkdownPipe } from './markdown.pipe'; describe('Markdown Pipe', () => { let markdownPipe: MarkdownPipe; beforeEach(() => { TestBed.configureTestingModule({ providers: [ MarkdownPipe, { provide: APP_CONFIG, useValue: Object.assign(environment, { markdown: { enabled: true, mathjax: true, }, }), }, ], }).compileComponents(); markdownPipe = TestBed.inject(MarkdownPipe); }); it('should render markdown', async () => { await testTransform( '# Header', '

Header

', ); }); it('should render mathjax', async () => { await testTransform( '$\\sqrt{2}^2$', '.*', ); }); it('should render regular links', async () => { await testTransform( 'DSpace', 'DSpace', ); }); it('should not render javascript links', async () => { await testTransform( 'exploit', 'exploit', ); }); it('should render undefined value', async () => { await testTransform( undefined, undefined, ); }); it('should render null value', async () => { await testTransform( null, null, ); }); async function testTransform(input: string, output: string) { expect( await markdownPipe.transform(input), ).toMatch( new RegExp('.*' + output + '.*'), ); } });