From 5ab1b26171541e70fb4e3c08c8a23073a98c452d Mon Sep 17 00:00:00 2001 From: syuilo <Syuilotan@yahoo.co.jp> Date: Sat, 3 Apr 2021 12:43:34 +0900 Subject: [PATCH] test: add link test --- test/main.ts | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/test/main.ts b/test/main.ts index 909aad4..52acbd8 100644 --- a/test/main.ts +++ b/test/main.ts @@ -2,7 +2,7 @@ import assert from 'assert'; import { extract, inspect, parse, parsePlain, toString } from '../built/index'; import { createNode } from '../built/util'; import { - TEXT, CENTER, FN, UNI_EMOJI, MENTION, EMOJI_CODE, HASHTAG, N_URL, BOLD, SMALL, ITALIC, STRIKE, QUOTE, MATH_BLOCK, SEARCH, CODE_BLOCK + TEXT, CENTER, FN, UNI_EMOJI, MENTION, EMOJI_CODE, HASHTAG, N_URL, BOLD, SMALL, ITALIC, STRIKE, QUOTE, MATH_BLOCK, SEARCH, CODE_BLOCK, LINK } from './node'; describe('text', () => { @@ -423,7 +423,41 @@ describe('url', () => { }); }); -// link +describe('link', () => { + it('basic', () => { + const input = '[official instance](https://misskey.io/@ai).'; + const output = [ + LINK(false, 'https://misskey.io/@ai', [ + TEXT('official instance') + ]), + TEXT('.') + ]; + assert.deepStrictEqual(parse(input), output); + }); + + it('silent flag', () => { + const input = '?[official instance](https://misskey.io/@ai).'; + const output = [ + LINK(true, 'https://misskey.io/@ai', [ + TEXT('official instance') + ]), + TEXT('.') + ]; + assert.deepStrictEqual(parse(input), output); + }); + + it('do not yield url node even if label is recognisable as a url', () => { + const input = 'official instance: [https://misskey.io/@ai](https://misskey.io/@ai).'; + const output = [ + TEXT('official instance: '), + LINK(false, 'https://misskey.io/@ai', [ + TEXT('https://misskey.io/@ai') + ]), + TEXT('.') + ]; + assert.deepStrictEqual(parse(input), output); + }); +}); describe('fn', () => { it('basic', () => { -- GitLab