Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/workbench/contrib/markdown/test/browser/markdownDocumentRenderer.test.ts
4780 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
import assert from 'assert';
6
import { ensureNoDisposablesAreLeakedInTestSuite } from '../../../../../base/test/common/utils.js';
7
import { ILanguageService } from '../../../../../editor/common/languages/language.js';
8
import { createCodeEditorServices } from '../../../../../editor/test/browser/testCodeEditor.js';
9
import { TestInstantiationService } from '../../../../../platform/instantiation/test/common/instantiationServiceMock.js';
10
import { IExtensionService } from '../../../../services/extensions/common/extensions.js';
11
import { renderMarkdownDocument } from '../../browser/markdownDocumentRenderer.js';
12
13
14
suite('Markdown Document Renderer Test', () => {
15
const store = ensureNoDisposablesAreLeakedInTestSuite();
16
17
let instantiationService: TestInstantiationService;
18
let extensionService: IExtensionService;
19
let languageService: ILanguageService;
20
21
setup(() => {
22
instantiationService = createCodeEditorServices(store);
23
extensionService = instantiationService.get(IExtensionService);
24
languageService = instantiationService.get(ILanguageService);
25
});
26
27
test('Should remove images with relative paths by default', async () => {
28
const result = await renderMarkdownDocument('![alt](src/img.png)', extensionService, languageService, {});
29
assert.strictEqual(result.toString(), `<p><img alt="alt"></p>\n`);
30
});
31
32
test('Can enable images with relative paths using setting', async () => {
33
const result = await renderMarkdownDocument('![alt](src/img.png)', extensionService, languageService, {
34
sanitizerConfig: {
35
allowRelativeMediaPaths: true,
36
}
37
});
38
39
assert.strictEqual(result.toString(), `<p><img src="src/img.png" alt="alt"></p>\n`);
40
});
41
});
42
43