aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--__tests__/index.js28
-rw-r--r--src/dom-event-handler.js67
-rw-r--r--src/index.js25
3 files changed, 82 insertions, 38 deletions
diff --git a/__tests__/index.js b/__tests__/index.js
index 7476477..355bc80 100644
--- a/__tests__/index.js
+++ b/__tests__/index.js
@@ -43,7 +43,7 @@ const generateExtendParser = extendsOptions => text => unified()
const parse = x => parse5.parse(x);
-const mainTestString = `Inline *test*{style="em:4"} paragraph. Use **multiple**{ style="color:pink"} inline ~~block~~ tag. Line \`tagCode\`{ style="color:yellow"}.`;
+const mainTestString = 'Inline *test*{style="em:4"} paragraph. Use **multiple**{ style="color:pink"} inline ~~block~~ tag. Line `tagCode`{ style="color:yellow"}.';
test('basic-default', t => {
const {contents} = renderDefault(mainTestString);
@@ -64,7 +64,7 @@ test('basic-raw', t => {
test('em', t => {
const {contents} = render('textexamplenointerest **Important**{style=4em} still no interest');
- t.deepEqual(parse(contents), parse(`<p>textexamplenointerest <strong style="4em">Important</strong> still no interest</p>`));
+ t.deepEqual(parse(contents), parse('<p>textexamplenointerest <strong style="4em">Important</strong> still no interest</p>'));
});
test('readme-default', t => {
@@ -114,36 +114,36 @@ This is an awesome image : <img src="aws://image.jpg" alt="Awesome image" qualit
});
test('extended-global', t => {
- const renderExtended = generateExtendParser({extend: {'*': ['exAttr']}});
- const globalString = ` *Wait* ! You are **beautiful**{ exAttr="true" } !`;
+ const renderExtended = generateExtendParser({extend: {'*': ['ex-attr']}});
+ const globalString = ' *Wait* ! You are **beautiful**{ ex-attr="true" } !';
const {contents} = renderExtended(globalString);
- t.deepEqual(parse(contents), parse(`<p> <em>Wait</em> ! You are <strong ex-attr="true">beautiful</strong> !</p>`));
+ t.deepEqual(parse(contents), parse('<p> <em>Wait</em> ! You are <strong ex-attr="true">beautiful</strong> !</p>'));
});
test('extended-invalid-scope', t => {
- const renderExtended = generateExtendParser({scope: 'invalid', extend: {strong: ['exAttr']}});
- const invalidString = `*Wait* ! You are **beautiful**{ exAttr="true" onload="qdss" pss="NOK" } !`;
+ const renderExtended = generateExtendParser({scope: 'invalid', extend: {strong: ['ex-attr']}});
+ const invalidString = '*Wait* ! You are **beautiful**{ ex-attr="true" onload="qdss" pss="NOK" } !';
const {contents} = renderExtended(invalidString);
- t.deepEqual(parse(contents), parse(`<p><em>Wait</em> ! You are <strong ex-attr="true">beautiful</strong> !</p>`));
+ t.deepEqual(parse(contents), parse('<p><em>Wait</em> ! You are <strong ex-attr="true">beautiful</strong> !</p>'));
});
test('invalid-scope', t => {
const renderExtended = generateExtendParser({extend: 'exAttr'});
- const invalidString = ` *Wait* ! I **love**{ exAttr="true" onload="qdss" pss="NOK" } you !`;
+ const invalidString = ' *Wait* ! I **love**{ exAttr="true" onload="qdss" pss="NOK" } you !';
const {contents} = renderExtended(invalidString);
- t.deepEqual(parse(contents), parse(`<p> <em>Wait</em> ! I <strong>love</strong> you !</p>`));
+ t.deepEqual(parse(contents), parse('<p> <em>Wait</em> ! I <strong>love</strong> you !</p>'));
});
test('invalid-extend', t => {
const renderExtended = generateExtendParser({extend: 'exAttr'});
- const invalidString = ` *Wait* ! I **love**{ exAttr="true" onload="qdss" attr="NOK" style="color: red;"} you!`;
+ const invalidString = ' *Wait* ! I **love**{ exAttr="true" onload="qdss" attr="NOK" style="color: red;"} you!';
const {contents} = renderExtended(invalidString);
- t.deepEqual(parse(contents), parse(`<p> <em>Wait</em> ! I <strong style="color: red;">love</strong> you!</p>`));
+ t.deepEqual(parse(contents), parse('<p> <em>Wait</em> ! I <strong style="color: red;">love</strong> you!</p>'));
});
test('global-aria', t => {
- const invalidString = ` *Wait* ! I **love**{ style="color: pink;" aria-love="true" } you!`;
+ const invalidString = ' *Wait* ! I **love**{ style="color: pink;" aria-love="true" } you!';
const {contents} = renderDefault(invalidString);
- t.deepEqual(parse(contents), parse(`<p> <em>Wait</em> ! I <strong style="color: pink;" aria-love="true">love</strong> you!</p>`));
+ t.deepEqual(parse(contents), parse('<p> <em>Wait</em> ! I <strong style="color: pink;" aria-love="true">love</strong> you!</p>'));
});
diff --git a/src/dom-event-handler.js b/src/dom-event-handler.js
new file mode 100644
index 0000000..dc4f3bd
--- /dev/null
+++ b/src/dom-event-handler.js
@@ -0,0 +1,67 @@
+'use strict';
+
+module.export = [
+ 'onabort',
+ 'onautocomplete',
+ 'onautocompleteerror',
+ 'onblur',
+ 'oncancel',
+ 'oncanplay',
+ 'oncanplaythrough',
+ 'onchange',
+ 'onclick',
+ 'onclose',
+ 'oncontextmenu',
+ 'oncuechange',
+ 'ondblclick',
+ 'ondrag',
+ 'ondragend',
+ 'ondragenter',
+ 'ondragexit',
+ 'ondragleave',
+ 'ondragover',
+ 'ondragstart',
+ 'ondrop',
+ 'ondurationchange',
+ 'onemptied',
+ 'onended',
+ 'onerror',
+ 'onfocus',
+ 'oninput',
+ 'oninvalid',
+ 'onkeydown',
+ 'onkeypress',
+ 'onkeyup',
+ 'onload',
+ 'onloadeddata',
+ 'onloadedmetadata',
+ 'onloadstart',
+ 'onmousedown',
+ 'onmouseenter',
+ 'onmouseleave',
+ 'onmousemove',
+ 'onmouseout',
+ 'onmouseover',
+ 'onmouseup',
+ 'onmousewheel',
+ 'onpause',
+ 'onplay',
+ 'onplaying',
+ 'onprogress',
+ 'onratechange',
+ 'onreset',
+ 'onresize',
+ 'onscroll',
+ 'onseeked',
+ 'onseeking',
+ 'onselect',
+ 'onshow',
+ 'onsort',
+ 'onstalled',
+ 'onsubmit',
+ 'onsuspend',
+ 'ontimeupdate',
+ 'ontoggle',
+ 'onvolumechange',
+ 'onwaiting',
+];
diff --git a/src/index.js b/src/index.js
index 2bc6142..d9b563a 100644
--- a/src/index.js
+++ b/src/index.js
@@ -6,30 +6,7 @@ const htmlElemAttr = require('html-element-attributes');
const supportedElements = ['link', 'atxHeading', 'strong', 'emphasis', 'deletion', 'code', 'setextHeading'];
const blockElements = ['atxHeading', 'setextHeading'];
-// The list of DOM Event handler
-const DOMEventHandler = [
- 'onabort', 'onautocomplete', 'onautocompleteerror',
- 'onblur', 'oncancel', 'oncanplay',
- 'oncanplaythrough', 'onchange', 'onclick',
- 'onclose', 'oncontextmenu', 'oncuechange',
- 'ondblclick', 'ondrag', 'ondragend',
- 'ondragenter', 'ondragexit', 'ondragleave',
- 'ondragover', 'ondragstart', 'ondrop',
- 'ondurationchange', 'onemptied', 'onended',
- 'onerror', 'onfocus', 'oninput',
- 'oninvalid', 'onkeydown', 'onkeypress',
- 'onkeyup', 'onload', 'onloadeddata',
- 'onloadedmetadata', 'onloadstart', 'onmousedown',
- 'onmouseenter', 'onmouseleave', 'onmousemove',
- 'onmouseout', 'onmouseover', 'onmouseup',
- 'onmousewheel', 'onpause', 'onplay',
- 'onplaying', 'onprogress', 'onratechange',
- 'onreset', 'onresize', 'onscroll',
- 'onseeked', 'onseeking', 'onselect',
- 'onshow', 'onsort', 'onstalled',
- 'onsubmit', 'onsuspend', 'ontimeupdate',
- 'ontoggle', 'onvolumechange', 'onwaiting',
-];
+const DOMEventHandler = require('./dom-event-handler.js');
/* Table convertion between type and HTML tagName */
const convTypeTag = {