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 + '.*'),
);
}
});