mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-23 11:37:02 -04:00
feat(extensions): Introduce app extensions
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This commit is contained in:
parent
afe35ca164
commit
665f93d800
224 changed files with 1621 additions and 1121 deletions
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2022 The HedgeDoc developers (see AUTHORS file)
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
import { replaceYouTubeLinkMarkdownItPlugin } from './replace-youtube-link'
|
||||
import MarkdownIt from 'markdown-it'
|
||||
|
||||
describe('Replace youtube link', () => {
|
||||
let markdownIt: MarkdownIt
|
||||
|
||||
beforeEach(() => {
|
||||
markdownIt = new MarkdownIt('default', {
|
||||
html: false,
|
||||
breaks: true,
|
||||
langPrefix: '',
|
||||
typographer: true
|
||||
})
|
||||
markdownIt.use(replaceYouTubeLinkMarkdownItPlugin)
|
||||
})
|
||||
;['http://', 'https://', ''].forEach((protocol) => {
|
||||
;['www.', ''].forEach((subdomain) => {
|
||||
;['youtube.com', 'youtube-nocookie.com'].forEach((domain) => {
|
||||
const origin = `${protocol}${subdomain}${domain}/`
|
||||
describe(origin, () => {
|
||||
const validUrl = `${origin}?v=12312312312`
|
||||
it(`can detect a correct youtube video url`, () => {
|
||||
expect(markdownIt.renderInline(validUrl)).toBe('<app-youtube id="12312312312"></app-youtube>')
|
||||
})
|
||||
|
||||
it("won't detect an URL without video id", () => {
|
||||
expect(markdownIt.renderInline(origin)).toBe(origin)
|
||||
})
|
||||
|
||||
it("won't detect an invalid(too short) youtube id", () => {
|
||||
const invalidUrl = '${origin}?v=1'
|
||||
expect(markdownIt.renderInline(invalidUrl)).toBe(invalidUrl)
|
||||
})
|
||||
|
||||
it("won't detect an invalid(invalid characters) youtube id", () => {
|
||||
const invalidUrl = '${origin}?v= /!#/'
|
||||
expect(markdownIt.renderInline(invalidUrl)).toBe(invalidUrl)
|
||||
})
|
||||
|
||||
it("won't detect an invalid(too long) youtube id", () => {
|
||||
const invalidUrl = '${origin}?v=111111111111111111111111111111111'
|
||||
expect(markdownIt.renderInline(invalidUrl)).toBe(invalidUrl)
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
Loading…
Add table
Add a link
Reference in a new issue