blob: 170a44f8ee252899b768b4ba5dedbac30b14b71e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
import packageJsonLinker from '~/vue_shared/components/source_viewer/plugins/utils/package_json_linker';
import { PACKAGE_JSON_CONTENT } from '../mock_data';
describe('Highlight.js plugin for linking package.json dependencies', () => {
it('mutates the input value by wrapping dependency names and versions in anchors', () => {
const inputValue =
'<span class="hljs-attr">"@babel/core"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"^7.18.5"</span>';
const outputValue =
'<span class="hljs-attr">"<a href="https://npmjs.com/package/@babel/core" target="_blank" rel="nofollow noreferrer noopener">@babel/core</a>"</span>: <span class="hljs-attr">"<a href="https://npmjs.com/package/@babel/core" target="_blank" rel="nofollow noreferrer noopener">^7.18.5</a>"</span>';
const hljsResultMock = { value: inputValue };
const output = packageJsonLinker(hljsResultMock, PACKAGE_JSON_CONTENT);
expect(output).toBe(outputValue);
});
});
|