mirror of
https://github.com/coder/code-server.git
synced 2026-05-05 20:15:19 +02:00
74 lines
3.1 KiB
TypeScript
74 lines
3.1 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import * as assert from 'assert';
|
|
import { parseLinkedText } from 'vs/base/common/linkedText';
|
|
|
|
suite('LinkedText', () => {
|
|
test('parses correctly', () => {
|
|
assert.deepStrictEqual(parseLinkedText('').nodes, []);
|
|
assert.deepStrictEqual(parseLinkedText('hello').nodes, ['hello']);
|
|
assert.deepStrictEqual(parseLinkedText('hello there').nodes, ['hello there']);
|
|
assert.deepStrictEqual(parseLinkedText('Some message with [link text](http://link.href).').nodes, [
|
|
'Some message with ',
|
|
{ label: 'link text', href: 'http://link.href' },
|
|
'.'
|
|
]);
|
|
assert.deepStrictEqual(parseLinkedText('Some message with [link text](http://link.href "and a title").').nodes, [
|
|
'Some message with ',
|
|
{ label: 'link text', href: 'http://link.href', title: 'and a title' },
|
|
'.'
|
|
]);
|
|
assert.deepStrictEqual(parseLinkedText('Some message with [link text](http://link.href \'and a title\').').nodes, [
|
|
'Some message with ',
|
|
{ label: 'link text', href: 'http://link.href', title: 'and a title' },
|
|
'.'
|
|
]);
|
|
assert.deepStrictEqual(parseLinkedText('Some message with [link text](http://link.href "and a \'title\'").').nodes, [
|
|
'Some message with ',
|
|
{ label: 'link text', href: 'http://link.href', title: 'and a \'title\'' },
|
|
'.'
|
|
]);
|
|
assert.deepStrictEqual(parseLinkedText('Some message with [link text](http://link.href \'and a "title"\').').nodes, [
|
|
'Some message with ',
|
|
{ label: 'link text', href: 'http://link.href', title: 'and a "title"' },
|
|
'.'
|
|
]);
|
|
assert.deepStrictEqual(parseLinkedText('Some message with [link text](random stuff).').nodes, [
|
|
'Some message with [link text](random stuff).'
|
|
]);
|
|
assert.deepStrictEqual(parseLinkedText('Some message with [https link](https://link.href).').nodes, [
|
|
'Some message with ',
|
|
{ label: 'https link', href: 'https://link.href' },
|
|
'.'
|
|
]);
|
|
assert.deepStrictEqual(parseLinkedText('Some message with [https link](https:).').nodes, [
|
|
'Some message with [https link](https:).'
|
|
]);
|
|
assert.deepStrictEqual(parseLinkedText('Some message with [a command](command:foobar).').nodes, [
|
|
'Some message with ',
|
|
{ label: 'a command', href: 'command:foobar' },
|
|
'.'
|
|
]);
|
|
assert.deepStrictEqual(parseLinkedText('Some message with [a command](command:).').nodes, [
|
|
'Some message with [a command](command:).'
|
|
]);
|
|
assert.deepStrictEqual(parseLinkedText('link [one](command:foo "nice") and link [two](http://foo)...').nodes, [
|
|
'link ',
|
|
{ label: 'one', href: 'command:foo', title: 'nice' },
|
|
' and link ',
|
|
{ label: 'two', href: 'http://foo' },
|
|
'...'
|
|
]);
|
|
assert.deepStrictEqual(parseLinkedText('link\n[one](command:foo "nice")\nand link [two](http://foo)...').nodes, [
|
|
'link\n',
|
|
{ label: 'one', href: 'command:foo', title: 'nice' },
|
|
'\nand link ',
|
|
{ label: 'two', href: 'http://foo' },
|
|
'...'
|
|
]);
|
|
});
|
|
});
|