hedgedoc/frontend/src/extensions/extra-integrations/asciinema/replace-asciinema-link.spec.ts
Philip Molares 4956a99ced refactor(frontend/commons): rename .test files to .spec
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2023-03-25 15:02:29 +01:00

41 lines
1.3 KiB
TypeScript

/*
* SPDX-FileCopyrightText: 2023 The HedgeDoc developers (see AUTHORS file)
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
import { replaceAsciinemaLinkMarkdownItPlugin } from './replace-asciinema-link'
import MarkdownIt from 'markdown-it/lib'
describe('Replace asciinema link', () => {
let markdownIt: MarkdownIt
beforeEach(() => {
markdownIt = new MarkdownIt('default', {
html: false,
breaks: true,
langPrefix: '',
typographer: true
})
markdownIt.use(replaceAsciinemaLinkMarkdownItPlugin)
})
it('will replace a valid URL', () => {
expect(markdownIt.renderInline('https://asciinema.org/a/123981234')).toBe(
`<app-asciinema id='123981234'></app-asciinema>`
)
})
it('will replace a valid URL with appendix', () => {
expect(markdownIt.renderInline('https://asciinema.org/a/123981234?a=1')).toBe(
`<app-asciinema id='123981234'></app-asciinema>`
)
})
it("won't replace an URL without path", () => {
expect(markdownIt.renderInline('https://asciinema.org/123981234')).toBe(`https://asciinema.org/123981234`)
})
it("won't replace an URL with non-numeric id", () => {
expect(markdownIt.renderInline('https://asciinema.org/a/12f3981234')).toBe(`https://asciinema.org/a/12f3981234`)
})
})