2
0
mirror of https://github.com/tenrok/BBob.git synced 2026-06-14 18:42:24 +03:00

fix(html): escape bad html (#67)

* feat(preset-html5): add feature to filter javascript: urls

* fix(plugin-helper): escape html in attrs

* fix(plugin-helper): tests for html escape

* refactor(preset-html5): remove html escape from preset

* feat(preset): add ability to pass and extend preset options
This commit is contained in:
Nikolay Kostyurin
2020-07-05 15:23:22 +02:00
committed by GitHub
parent ba090bf997
commit 87f38fe97e
5 changed files with 63 additions and 15 deletions
+16 -1
View File
@@ -80,11 +80,26 @@ describe('@bbob/plugin-helper', () => {
disabled: true
})).toBe(` tag="test" foo="bar" disabled`)
});
test('attrsToString undefined', () => {
expect(attrsToString(undefined)).toBe('')
});
describe('attrsToString escape', () => {
test(`javascript:alert("hello")`, () => {
expect(attrsToString({
onclick: `javascript:alert('hello')`,
href: `javascript:alert('hello')`,
})).toBe(` onclick="javascript%3Aalert('hello')" href="javascript%3Aalert('hello')"`)
});
test(`<tag>`, () => {
expect(attrsToString({
onclick: `<tag>`,
href: `<tag>`,
})).toBe(` onclick="&lt;tag&gt;" href="&lt;tag&gt;"`)
});
});
test('getUniqAttr with unq attr', () => {
expect(getUniqAttr({foo: true, 'http://bar.com': 'http://bar.com'})).toBe('http://bar.com')
});