test: rewrite some config vals to tighten types

We're planning on limiting some of MermaidConfig's types to specific
values (e.g. `0 | 1` instead of `number`).
This commit is contained in:
Alois Klink 2023-09-02 19:22:57 +01:00
parent 6e51f8fd98
commit 77ba7c987a
2 changed files with 11 additions and 21 deletions

View File

@ -563,7 +563,7 @@ describe('mermaidAPI', () => {
const config = { const config = {
logLevel: 0, logLevel: 0,
securityLevel: 'loose', securityLevel: 'loose',
}; } as const;
mermaidAPI.initialize(config); mermaidAPI.initialize(config);
mermaidAPI.setConfig({ securityLevel: 'strict', logLevel: 1 }); mermaidAPI.setConfig({ securityLevel: 'strict', logLevel: 1 });
expect(mermaidAPI.getConfig().logLevel).toBe(1); expect(mermaidAPI.getConfig().logLevel).toBe(1);

View File

@ -260,56 +260,46 @@ describe('when formatting urls', function () {
it('should handle links', function () { it('should handle links', function () {
const url = 'https://mermaid-js.github.io/mermaid/#/'; const url = 'https://mermaid-js.github.io/mermaid/#/';
const config = { securityLevel: 'loose' }; let result = utils.formatUrl(url, { securityLevel: 'loose' });
let result = utils.formatUrl(url, config);
expect(result).toEqual(url); expect(result).toEqual(url);
config.securityLevel = 'strict'; result = utils.formatUrl(url, { securityLevel: 'strict' });
result = utils.formatUrl(url, config);
expect(result).toEqual(url); expect(result).toEqual(url);
}); });
it('should handle anchors', function () { it('should handle anchors', function () {
const url = '#interaction'; const url = '#interaction';
const config = { securityLevel: 'loose' }; let result = utils.formatUrl(url, { securityLevel: 'loose' });
let result = utils.formatUrl(url, config);
expect(result).toEqual(url); expect(result).toEqual(url);
config.securityLevel = 'strict'; result = utils.formatUrl(url, { securityLevel: 'strict' });
result = utils.formatUrl(url, config);
expect(result).toEqual(url); expect(result).toEqual(url);
}); });
it('should handle mailto', function () { it('should handle mailto', function () {
const url = 'mailto:user@user.user'; const url = 'mailto:user@user.user';
const config = { securityLevel: 'loose' }; let result = utils.formatUrl(url, { securityLevel: 'loose' });
let result = utils.formatUrl(url, config);
expect(result).toEqual(url); expect(result).toEqual(url);
config.securityLevel = 'strict'; result = utils.formatUrl(url, { securityLevel: 'strict' });
result = utils.formatUrl(url, config);
expect(result).toEqual(url); expect(result).toEqual(url);
}); });
it('should handle other protocols', function () { it('should handle other protocols', function () {
const url = 'notes://do-your-thing/id'; const url = 'notes://do-your-thing/id';
const config = { securityLevel: 'loose' }; let result = utils.formatUrl(url, { securityLevel: 'loose' });
let result = utils.formatUrl(url, config);
expect(result).toEqual(url); expect(result).toEqual(url);
config.securityLevel = 'strict'; result = utils.formatUrl(url, { securityLevel: 'strict' });
result = utils.formatUrl(url, config);
expect(result).toEqual(url); expect(result).toEqual(url);
}); });
it('should handle scripts', function () { it('should handle scripts', function () {
const url = 'javascript:alert("test")'; const url = 'javascript:alert("test")';
const config = { securityLevel: 'loose' }; let result = utils.formatUrl(url, { securityLevel: 'loose' });
let result = utils.formatUrl(url, config);
expect(result).toEqual(url); expect(result).toEqual(url);
config.securityLevel = 'strict'; result = utils.formatUrl(url, { securityLevel: 'strict' });
result = utils.formatUrl(url, config);
expect(result).toEqual('about:blank'); expect(result).toEqual('about:blank');
}); });
}); });