Merge pull request #2831 from gwincr11/cg-custom-dompurify-config

Add dompurify config option
This commit is contained in:
Knut Sveidqvist
2022-03-17 18:01:19 +01:00
committed by GitHub
4 changed files with 64 additions and 4 deletions

View File

@@ -93,7 +93,12 @@ const sanitizeMore = (text, config) => {
export const sanitizeText = (text, config) => {
if (!text) return text;
const txt = DOMPurify.sanitize(sanitizeMore(text, config));
let txt = '';
if (config['dompurifyConfig']) {
txt = DOMPurify.sanitize(sanitizeMore(text, config), config['dompurifyConfig']);
} else {
txt = DOMPurify.sanitize(sanitizeMore(text, config));
}
return txt;
};

View File

@@ -113,6 +113,12 @@ describe('when using mermaidAPI and ', function () {
expect(mermaidAPI.defaultConfig['logLevel']).toBe(5);
});
});
describe('dompurify config', function () {
it('should allow dompurify config to be set', function () {
mermaidAPI.initialize({ dompurifyConfig: { ADD_ATTR: ['onclick'] } });
expect(mermaidAPI.getConfig().dompurifyConfig.ADD_ATTR).toEqual(['onclick']);
});
});
describe('checking validity of input ', function () {
it('it should throw for an invalid definiton', function () {
expect(() => mermaidAPI.parse('this is not a mermaid diagram definition')).toThrow();