hedgedoc/src/components/markdown-renderer/markdown-extension/vimeo/replace-legacy-vimeo-short-code.test.ts
Tilman Vatteroth 32c6bbb8e3
Test multiple markdown extensions (#1886)
This commit adds multiple unit jest tests for components and removes e2e tests. 

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>

Signed-off-by: Philip Molares <philip.molares@udo.edu>

Co-authored-by: Philip Molares <philip.molares@udo.edu>
2022-04-27 09:59:01 +02:00

46 lines
1.3 KiB
TypeScript

/*
* SPDX-FileCopyrightText: 2022 The HedgeDoc developers (see AUTHORS file)
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
import MarkdownIt from 'markdown-it'
import { replaceLegacyVimeoShortCodeMarkdownItPlugin } from './replace-legacy-vimeo-short-code'
describe('Replace legacy youtube short codes', () => {
let markdownIt: MarkdownIt
beforeEach(() => {
markdownIt = new MarkdownIt('default', {
html: false,
breaks: true,
langPrefix: '',
typographer: true
})
markdownIt.use(replaceLegacyVimeoShortCodeMarkdownItPlugin)
})
it('detects a valid legacy youtube short code', () => {
expect(markdownIt.renderInline('{%vimeo 12312312312 %}')).toBe('<app-vimeo id="12312312312"></app-vimeo>')
})
it("won't detect an empty string", () => {
const code = '{%vimeo %}'
expect(markdownIt.renderInline(code)).toBe(code)
})
it("won't detect letters", () => {
const code = '{%vimeo 123123a2311 %}'
expect(markdownIt.renderInline(code)).toBe(code)
})
it("won't detect an invalid(to short) youtube id", () => {
const code = '{%vimeo 1 %}'
expect(markdownIt.renderInline(code)).toBe(code)
})
it("won't detect an invalid(to long) youtube id", () => {
const code = '{%vimeo 111111111111111111111111111111111 %}'
expect(markdownIt.renderInline(code)).toBe(code)
})
})