aboutsummaryrefslogtreecommitdiff
path: root/node_modules/htmlparser2/test/Events
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/htmlparser2/test/Events')
-rw-r--r--node_modules/htmlparser2/test/Events/01-simple.json44
-rw-r--r--node_modules/htmlparser2/test/Events/02-template.json63
-rw-r--r--node_modules/htmlparser2/test/Events/03-lowercase_tags.json46
-rw-r--r--node_modules/htmlparser2/test/Events/04-cdata.json43
-rw-r--r--node_modules/htmlparser2/test/Events/05-cdata-special.json35
-rw-r--r--node_modules/htmlparser2/test/Events/06-leading-lt.json16
-rw-r--r--node_modules/htmlparser2/test/Events/07-self-closing.json67
-rw-r--r--node_modules/htmlparser2/test/Events/08-implicit-close-tags.json59
-rw-r--r--node_modules/htmlparser2/test/Events/09-attributes.json68
-rw-r--r--node_modules/htmlparser2/test/Events/10-crazy-attrib.json52
-rw-r--r--node_modules/htmlparser2/test/Events/11-script_in_script.json54
-rw-r--r--node_modules/htmlparser2/test/Events/12-long-comment-end.json20
-rw-r--r--node_modules/htmlparser2/test/Events/13-long-cdata-end.json22
-rw-r--r--node_modules/htmlparser2/test/Events/14-implicit-open-tags.json24
-rw-r--r--node_modules/htmlparser2/test/Events/15-lt-whitespace.json16
-rw-r--r--node_modules/htmlparser2/test/Events/16-double_attribs.json45
-rw-r--r--node_modules/htmlparser2/test/Events/17-numeric_entities.json16
-rw-r--r--node_modules/htmlparser2/test/Events/18-legacy_entities.json16
-rw-r--r--node_modules/htmlparser2/test/Events/19-named_entities.json16
-rw-r--r--node_modules/htmlparser2/test/Events/20-xml_entities.json16
-rw-r--r--node_modules/htmlparser2/test/Events/21-entity_in_attribute.json38
-rw-r--r--node_modules/htmlparser2/test/Events/22-double_brackets.json41
22 files changed, 817 insertions, 0 deletions
diff --git a/node_modules/htmlparser2/test/Events/01-simple.json b/node_modules/htmlparser2/test/Events/01-simple.json
new file mode 100644
index 000000000..ab3076ac5
--- /dev/null
+++ b/node_modules/htmlparser2/test/Events/01-simple.json
@@ -0,0 +1,44 @@
+{
+ "name": "simple",
+ "options": {
+ "handler": {},
+ "parser": {}
+ },
+ "html": "<h1 class=test>adsf</h1>",
+ "expected": [
+ {
+ "event": "opentagname",
+ "data": [
+ "h1"
+ ]
+ },
+ {
+ "event": "attribute",
+ "data": [
+ "class",
+ "test"
+ ]
+ },
+ {
+ "event": "opentag",
+ "data": [
+ "h1",
+ {
+ "class": "test"
+ }
+ ]
+ },
+ {
+ "event": "text",
+ "data": [
+ "adsf"
+ ]
+ },
+ {
+ "event": "closetag",
+ "data": [
+ "h1"
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/node_modules/htmlparser2/test/Events/02-template.json b/node_modules/htmlparser2/test/Events/02-template.json
new file mode 100644
index 000000000..df344b6a2
--- /dev/null
+++ b/node_modules/htmlparser2/test/Events/02-template.json
@@ -0,0 +1,63 @@
+{
+ "name": "Template script tags",
+ "options": {
+ "handler": {},
+ "parser": {}
+ },
+ "html": "<p><script type=\"text/template\"><h1>Heading1</h1></script></p>",
+ "expected": [
+ {
+ "event": "opentagname",
+ "data": [
+ "p"
+ ]
+ },
+ {
+ "event": "opentag",
+ "data": [
+ "p",
+ {}
+ ]
+ },
+ {
+ "event": "opentagname",
+ "data": [
+ "script"
+ ]
+ },
+ {
+ "event": "attribute",
+ "data": [
+ "type",
+ "text/template"
+ ]
+ },
+ {
+ "event": "opentag",
+ "data": [
+ "script",
+ {
+ "type": "text/template"
+ }
+ ]
+ },
+ {
+ "event": "text",
+ "data": [
+ "<h1>Heading1</h1>"
+ ]
+ },
+ {
+ "event": "closetag",
+ "data": [
+ "script"
+ ]
+ },
+ {
+ "event": "closetag",
+ "data": [
+ "p"
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/node_modules/htmlparser2/test/Events/03-lowercase_tags.json b/node_modules/htmlparser2/test/Events/03-lowercase_tags.json
new file mode 100644
index 000000000..9b58c5999
--- /dev/null
+++ b/node_modules/htmlparser2/test/Events/03-lowercase_tags.json
@@ -0,0 +1,46 @@
+{
+ "name": "Lowercase tags",
+ "options": {
+ "handler": {},
+ "parser": {
+ "lowerCaseTags": true
+ }
+ },
+ "html": "<H1 class=test>adsf</H1>",
+ "expected": [
+ {
+ "event": "opentagname",
+ "data": [
+ "h1"
+ ]
+ },
+ {
+ "event": "attribute",
+ "data": [
+ "class",
+ "test"
+ ]
+ },
+ {
+ "event": "opentag",
+ "data": [
+ "h1",
+ {
+ "class": "test"
+ }
+ ]
+ },
+ {
+ "event": "text",
+ "data": [
+ "adsf"
+ ]
+ },
+ {
+ "event": "closetag",
+ "data": [
+ "h1"
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/node_modules/htmlparser2/test/Events/04-cdata.json b/node_modules/htmlparser2/test/Events/04-cdata.json
new file mode 100644
index 000000000..71d4860c9
--- /dev/null
+++ b/node_modules/htmlparser2/test/Events/04-cdata.json
@@ -0,0 +1,43 @@
+{
+ "name": "CDATA",
+ "options": {
+ "handler": {},
+ "parser": {"xmlMode": true}
+ },
+ "html": "<tag><![CDATA[ asdf ><asdf></adsf><> fo]]></tag>",
+ "expected": [
+ {
+ "event": "opentagname",
+ "data": [
+ "tag"
+ ]
+ },
+ {
+ "event": "opentag",
+ "data": [
+ "tag",
+ {}
+ ]
+ },
+ {
+ "event": "cdatastart",
+ "data": []
+ },
+ {
+ "event": "text",
+ "data": [
+ " asdf ><asdf></adsf><> fo"
+ ]
+ },
+ {
+ "event": "cdataend",
+ "data": []
+ },
+ {
+ "event": "closetag",
+ "data": [
+ "tag"
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/node_modules/htmlparser2/test/Events/05-cdata-special.json b/node_modules/htmlparser2/test/Events/05-cdata-special.json
new file mode 100644
index 000000000..686cb1a2f
--- /dev/null
+++ b/node_modules/htmlparser2/test/Events/05-cdata-special.json
@@ -0,0 +1,35 @@
+{
+ "name": "CDATA (inside special)",
+ "options": {
+ "handler": {},
+ "parser": {}
+ },
+ "html": "<script>/*<![CDATA[*/ asdf ><asdf></adsf><> fo/*]]>*/</script>",
+ "expected": [
+ {
+ "event": "opentagname",
+ "data": [
+ "script"
+ ]
+ },
+ {
+ "event": "opentag",
+ "data": [
+ "script",
+ {}
+ ]
+ },
+ {
+ "event": "text",
+ "data": [
+ "/*<![CDATA[*/ asdf ><asdf></adsf><> fo/*]]>*/"
+ ]
+ },
+ {
+ "event": "closetag",
+ "data": [
+ "script"
+ ]
+ }
+ ]
+}
diff --git a/node_modules/htmlparser2/test/Events/06-leading-lt.json b/node_modules/htmlparser2/test/Events/06-leading-lt.json
new file mode 100644
index 000000000..fcec85289
--- /dev/null
+++ b/node_modules/htmlparser2/test/Events/06-leading-lt.json
@@ -0,0 +1,16 @@
+{
+ "name": "leading lt",
+ "options": {
+ "handler": {},
+ "parser": {}
+ },
+ "html": ">a>",
+ "expected": [
+ {
+ "event": "text",
+ "data": [
+ ">a>"
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/node_modules/htmlparser2/test/Events/07-self-closing.json b/node_modules/htmlparser2/test/Events/07-self-closing.json
new file mode 100644
index 000000000..f8903aa69
--- /dev/null
+++ b/node_modules/htmlparser2/test/Events/07-self-closing.json
@@ -0,0 +1,67 @@
+{
+ "name": "Self-closing tags",
+ "options": {
+ "handler": {
+
+ },
+ "parser": {
+
+ }
+ },
+ "html": "<a href=http://test.com/>Foo</a><hr />",
+ "expected": [
+ {
+ "event": "opentagname",
+ "data": [
+ "a"
+ ]
+ },
+ {
+ "event": "attribute",
+ "data": [
+ "href",
+ "http://test.com/"
+ ]
+ },
+ {
+ "event": "opentag",
+ "data": [
+ "a",
+ {
+ "href": "http://test.com/"
+ }
+ ]
+ },
+ {
+ "event": "text",
+ "data": [
+ "Foo"
+ ]
+ },
+ {
+ "event": "closetag",
+ "data": [
+ "a"
+ ]
+ },
+ {
+ "event": "opentagname",
+ "data": [
+ "hr"
+ ]
+ },
+ {
+ "event": "opentag",
+ "data": [
+ "hr",
+ {}
+ ]
+ },
+ {
+ "event": "closetag",
+ "data": [
+ "hr"
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/node_modules/htmlparser2/test/Events/08-implicit-close-tags.json b/node_modules/htmlparser2/test/Events/08-implicit-close-tags.json
new file mode 100644
index 000000000..3441f2088
--- /dev/null
+++ b/node_modules/htmlparser2/test/Events/08-implicit-close-tags.json
@@ -0,0 +1,59 @@
+{
+ "name": "Implicit close tags",
+ "options": {},
+ "html": "<ol><li class=test><div><table style=width:100%><tr><td colspan=2><h3>Heading</h3><tr><td><div>Div</div><td><div>Div2</div></table></div><li><div><h3>Heading 2</h3></div></li></ol>",
+ "expected": [
+ { "event": "opentagname", "data": [ "ol" ] },
+ { "event": "opentag", "data": [ "ol", {} ] },
+ { "event": "opentagname", "data": [ "li" ] },
+ { "event": "attribute", "data": [ "class", "test" ] },
+ { "event": "opentag", "data": [ "li", { "class": "test" } ] },
+ { "event": "opentagname", "data": [ "div" ] },
+ { "event": "opentag", "data": [ "div", {} ] },
+ { "event": "opentagname", "data": [ "table" ] },
+ { "event": "attribute", "data": [ "style", "width:100%" ] },
+ { "event": "opentag", "data": [ "table", { "style": "width:100%" } ] },
+ { "event": "opentagname", "data": [ "tr" ] },
+ { "event": "opentag", "data": [ "tr", {} ] },
+ { "event": "opentagname", "data": [ "td" ] },
+ { "event": "attribute", "data": [ "colspan", "2" ] },
+ { "event": "opentag", "data": [ "td", { "colspan": "2" } ] },
+ { "event": "opentagname", "data": [ "h3" ] },
+ { "event": "opentag", "data": [ "h3", {} ] },
+ { "event": "text", "data": [ "Heading" ] },
+ { "event": "closetag", "data": [ "h3" ] },
+ { "event": "closetag", "data": [ "td" ] },
+ { "event": "closetag", "data": [ "tr" ] },
+ { "event": "opentagname", "data": [ "tr" ] },
+ { "event": "opentag", "data": [ "tr", {} ] },
+ { "event": "opentagname", "data": [ "td" ] },
+ { "event": "opentag", "data": [ "td", {} ] },
+ { "event": "opentagname", "data": [ "div" ] },
+ { "event": "opentag", "data": [ "div", {} ] },
+ { "event": "text", "data": [ "Div" ] },
+ { "event": "closetag", "data": [ "div" ] },
+ { "event": "closetag", "data": [ "td" ] },
+ { "event": "opentagname", "data": [ "td" ] },
+ { "event": "opentag", "data": [ "td", {} ] },
+ { "event": "opentagname", "data": [ "div" ] },
+ { "event": "opentag", "data": [ "div", {} ] },
+ { "event": "text", "data": [ "Div2" ] },
+ { "event": "closetag", "data": [ "div" ] },
+ { "event": "closetag", "data": [ "td" ] },
+ { "event": "closetag", "data": [ "tr" ] },
+ { "event": "closetag", "data": [ "table" ] },
+ { "event": "closetag", "data": [ "div" ] },
+ { "event": "closetag", "data": [ "li" ] },
+ { "event": "opentagname", "data": [ "li" ] },
+ { "event": "opentag", "data": [ "li", {} ] },
+ { "event": "opentagname", "data": [ "div" ] },
+ { "event": "opentag", "data": [ "div", {} ] },
+ { "event": "opentagname", "data": [ "h3" ] },
+ { "event": "opentag", "data": [ "h3", {} ] },
+ { "event": "text", "data": [ "Heading 2" ] },
+ { "event": "closetag", "data": [ "h3" ] },
+ { "event": "closetag", "data": [ "div" ] },
+ { "event": "closetag", "data": [ "li" ] },
+ { "event": "closetag", "data": [ "ol" ] }
+ ]
+} \ No newline at end of file
diff --git a/node_modules/htmlparser2/test/Events/09-attributes.json b/node_modules/htmlparser2/test/Events/09-attributes.json
new file mode 100644
index 000000000..afa6e4a96
--- /dev/null
+++ b/node_modules/htmlparser2/test/Events/09-attributes.json
@@ -0,0 +1,68 @@
+{
+ "name": "attributes (no white space, no value, no quotes)",
+ "options": {
+ "handler": {},
+ "parser": {}
+ },
+ "html": "<button class=\"test0\"title=\"test1\" disabled value=test2>adsf</button>",
+ "expected": [
+ {
+ "event": "opentagname",
+ "data": [
+ "button"
+ ]
+ },
+ {
+ "event": "attribute",
+ "data": [
+ "class",
+ "test0"
+ ]
+ },
+ {
+ "event": "attribute",
+ "data": [
+ "title",
+ "test1"
+ ]
+ },
+ {
+ "event": "attribute",
+ "data": [
+ "disabled",
+ ""
+ ]
+ },
+ {
+ "event": "attribute",
+ "data": [
+ "value",
+ "test2"
+ ]
+ },
+ {
+ "event": "opentag",
+ "data": [
+ "button",
+ {
+ "class": "test0",
+ "title": "test1",
+ "disabled": "",
+ "value": "test2"
+ }
+ ]
+ },
+ {
+ "event": "text",
+ "data": [
+ "adsf"
+ ]
+ },
+ {
+ "event": "closetag",
+ "data": [
+ "button"
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/node_modules/htmlparser2/test/Events/10-crazy-attrib.json b/node_modules/htmlparser2/test/Events/10-crazy-attrib.json
new file mode 100644
index 000000000..baf319f43
--- /dev/null
+++ b/node_modules/htmlparser2/test/Events/10-crazy-attrib.json
@@ -0,0 +1,52 @@
+{
+ "name": "crazy attribute",
+ "options": {
+ "handler": {},
+ "parser": {}
+ },
+ "html": "<p <='' FAIL>stuff</p>",
+ "expected": [
+ {
+ "event": "opentagname",
+ "data": [
+ "p"
+ ]
+ },
+ {
+ "event": "attribute",
+ "data": [
+ "<",
+ ""
+ ]
+ },
+ {
+ "event": "attribute",
+ "data": [
+ "fail",
+ ""
+ ]
+ },
+ {
+ "event": "opentag",
+ "data": [
+ "p",
+ {
+ "<": "",
+ "fail": ""
+ }
+ ]
+ },
+ {
+ "event": "text",
+ "data": [
+ "stuff"
+ ]
+ },
+ {
+ "event": "closetag",
+ "data": [
+ "p"
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/node_modules/htmlparser2/test/Events/11-script_in_script.json b/node_modules/htmlparser2/test/Events/11-script_in_script.json
new file mode 100644
index 000000000..ddbb87c87
--- /dev/null
+++ b/node_modules/htmlparser2/test/Events/11-script_in_script.json
@@ -0,0 +1,54 @@
+{
+ "name": "Scripts creating other scripts",
+ "options": {
+ "handler": {},
+ "parser": {}
+ },
+ "html": "<p><script>var str = '<script></'+'script>';</script></p>",
+ "expected": [
+ {
+ "event": "opentagname",
+ "data": [
+ "p"
+ ]
+ },
+ {
+ "event": "opentag",
+ "data": [
+ "p",
+ {}
+ ]
+ },
+ {
+ "event": "opentagname",
+ "data": [
+ "script"
+ ]
+ },
+ {
+ "event": "opentag",
+ "data": [
+ "script",
+ {}
+ ]
+ },
+ {
+ "event": "text",
+ "data": [
+ "var str = '<script></'+'script>';"
+ ]
+ },
+ {
+ "event": "closetag",
+ "data": [
+ "script"
+ ]
+ },
+ {
+ "event": "closetag",
+ "data": [
+ "p"
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/node_modules/htmlparser2/test/Events/12-long-comment-end.json b/node_modules/htmlparser2/test/Events/12-long-comment-end.json
new file mode 100644
index 000000000..e81f30774
--- /dev/null
+++ b/node_modules/htmlparser2/test/Events/12-long-comment-end.json
@@ -0,0 +1,20 @@
+{
+ "name": "Long comment ending",
+ "options": {
+ "handler": {},
+ "parser": {}
+ },
+ "html": "<meta id='before'><!-- text ---><meta id='after'>",
+ "expected": [
+ { "event": "opentagname", "data": [ "meta" ] },
+ { "event": "attribute", "data": [ "id", "before" ] },
+ { "event": "opentag", "data": [ "meta", {"id": "before"} ] },
+ { "event": "closetag", "data": [ "meta" ] },
+ { "event": "comment", "data": [ " text -" ] },
+ { "event": "commentend", "data": [] },
+ { "event": "opentagname", "data": [ "meta" ] },
+ { "event": "attribute", "data": [ "id", "after" ] },
+ { "event": "opentag", "data": [ "meta", {"id": "after"} ] },
+ { "event": "closetag", "data": [ "meta" ] }
+ ]
+} \ No newline at end of file
diff --git a/node_modules/htmlparser2/test/Events/13-long-cdata-end.json b/node_modules/htmlparser2/test/Events/13-long-cdata-end.json
new file mode 100644
index 000000000..34b7b4105
--- /dev/null
+++ b/node_modules/htmlparser2/test/Events/13-long-cdata-end.json
@@ -0,0 +1,22 @@
+{
+ "name": "Long CDATA ending",
+ "options": {
+ "handler": {},
+ "parser": {"xmlMode": true}
+ },
+ "html": "<before /><tag><![CDATA[ text ]]]></tag><after />",
+ "expected": [
+ { "event": "opentagname", "data": [ "before" ] },
+ { "event": "opentag", "data": [ "before", {} ] },
+ { "event": "closetag", "data": [ "before" ] },
+ { "event": "opentagname", "data": [ "tag" ] },
+ { "event": "opentag", "data": [ "tag", {} ] },
+ { "event": "cdatastart", "data": [] },
+ { "event": "text", "data": [ " text ]" ] },
+ { "event": "cdataend", "data": [] },
+ { "event": "closetag", "data": [ "tag" ] },
+ { "event": "opentagname", "data": [ "after" ] },
+ { "event": "opentag", "data": [ "after", {} ] },
+ { "event": "closetag", "data": [ "after" ] }
+ ]
+} \ No newline at end of file
diff --git a/node_modules/htmlparser2/test/Events/14-implicit-open-tags.json b/node_modules/htmlparser2/test/Events/14-implicit-open-tags.json
new file mode 100644
index 000000000..096925ae9
--- /dev/null
+++ b/node_modules/htmlparser2/test/Events/14-implicit-open-tags.json
@@ -0,0 +1,24 @@
+{
+ "name": "Implicit open p and br tags",
+ "options": {
+ "handler": {},
+ "parser": {}
+ },
+ "html": "<div>Hallo</p>World</br></div></p>",
+ "expected": [
+ { "event": "opentagname", "data": [ "div" ] },
+ { "event": "opentag", "data": [ "div", {} ] },
+ { "event": "text", "data": [ "Hallo" ] },
+ { "event": "opentagname", "data": [ "p" ] },
+ { "event": "opentag", "data": [ "p", {} ] },
+ { "event": "closetag", "data": [ "p" ] },
+ { "event": "text", "data": [ "World" ] },
+ { "event": "opentagname", "data": [ "br" ] },
+ { "event": "opentag", "data": [ "br", {} ] },
+ { "event": "closetag", "data": [ "br" ] },
+ { "event": "closetag", "data": [ "div" ] },
+ { "event": "opentagname", "data": [ "p" ] },
+ { "event": "opentag", "data": [ "p", {} ] },
+ { "event": "closetag", "data": [ "p" ] }
+ ]
+} \ No newline at end of file
diff --git a/node_modules/htmlparser2/test/Events/15-lt-whitespace.json b/node_modules/htmlparser2/test/Events/15-lt-whitespace.json
new file mode 100644
index 000000000..aae6eb097
--- /dev/null
+++ b/node_modules/htmlparser2/test/Events/15-lt-whitespace.json
@@ -0,0 +1,16 @@
+{
+ "name": "lt followed by whitespace",
+ "options": {
+ "handler": {},
+ "parser": {}
+ },
+ "html": "a < b",
+ "expected": [
+ {
+ "event": "text",
+ "data": [
+ "a < b"
+ ]
+ }
+ ]
+}
diff --git a/node_modules/htmlparser2/test/Events/16-double_attribs.json b/node_modules/htmlparser2/test/Events/16-double_attribs.json
new file mode 100644
index 000000000..bed1d8f22
--- /dev/null
+++ b/node_modules/htmlparser2/test/Events/16-double_attribs.json
@@ -0,0 +1,45 @@
+{
+ "name": "double attribute",
+ "options": {
+ "handler": {},
+ "parser": {}
+ },
+ "html": "<h1 class=test class=boo></h1>",
+ "expected": [
+ {
+ "event": "opentagname",
+ "data": [
+ "h1"
+ ]
+ },
+ {
+ "event": "attribute",
+ "data": [
+ "class",
+ "test"
+ ]
+ },
+ {
+ "event": "attribute",
+ "data": [
+ "class",
+ "boo"
+ ]
+ },
+ {
+ "event": "opentag",
+ "data": [
+ "h1",
+ {
+ "class": "test"
+ }
+ ]
+ },
+ {
+ "event": "closetag",
+ "data": [
+ "h1"
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/node_modules/htmlparser2/test/Events/17-numeric_entities.json b/node_modules/htmlparser2/test/Events/17-numeric_entities.json
new file mode 100644
index 000000000..c76221c0e
--- /dev/null
+++ b/node_modules/htmlparser2/test/Events/17-numeric_entities.json
@@ -0,0 +1,16 @@
+{
+ "name": "numeric entities",
+ "options": {
+ "handler": {},
+ "parser": {"decodeEntities": true}
+ },
+ "html": "&#x61;&#x62&#99;&#100",
+ "expected": [
+ {
+ "event": "text",
+ "data": [
+ "abcd"
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/node_modules/htmlparser2/test/Events/18-legacy_entities.json b/node_modules/htmlparser2/test/Events/18-legacy_entities.json
new file mode 100644
index 000000000..e0be6990b
--- /dev/null
+++ b/node_modules/htmlparser2/test/Events/18-legacy_entities.json
@@ -0,0 +1,16 @@
+{
+ "name": "legacy entities",
+ "options": {
+ "handler": {},
+ "parser": {"decodeEntities": true}
+ },
+ "html": "&AMPel&iacutees&lter",
+ "expected": [
+ {
+ "event": "text",
+ "data": [
+ "&el\u00EDes<er"
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/node_modules/htmlparser2/test/Events/19-named_entities.json b/node_modules/htmlparser2/test/Events/19-named_entities.json
new file mode 100644
index 000000000..33db898e0
--- /dev/null
+++ b/node_modules/htmlparser2/test/Events/19-named_entities.json
@@ -0,0 +1,16 @@
+{
+ "name": "named entities",
+ "options": {
+ "handler": {},
+ "parser": {"decodeEntities": true}
+ },
+ "html": "&amp;el&lt;er&CounterClockwiseContourIntegral;foo",
+ "expected": [
+ {
+ "event": "text",
+ "data": [
+ "&el<er\u2233foo"
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/node_modules/htmlparser2/test/Events/20-xml_entities.json b/node_modules/htmlparser2/test/Events/20-xml_entities.json
new file mode 100644
index 000000000..0f7dece27
--- /dev/null
+++ b/node_modules/htmlparser2/test/Events/20-xml_entities.json
@@ -0,0 +1,16 @@
+{
+ "name": "xml entities",
+ "options": {
+ "handler": {},
+ "parser": {"decodeEntities": true, "xmlMode": true}
+ },
+ "html": "&amp;&gt;&amp&lt;&uuml;&#x61;&#x62&#99;&#100",
+ "expected": [
+ {
+ "event": "text",
+ "data": [
+ "&>&amp<&uuml;a&#x62c&#100"
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/node_modules/htmlparser2/test/Events/21-entity_in_attribute.json b/node_modules/htmlparser2/test/Events/21-entity_in_attribute.json
new file mode 100644
index 000000000..77eb4f363
--- /dev/null
+++ b/node_modules/htmlparser2/test/Events/21-entity_in_attribute.json
@@ -0,0 +1,38 @@
+{
+ "name": "entity in attribute",
+ "options": {
+ "handler": {},
+ "parser": {"decodeEntities": true}
+ },
+ "html": "<a href='http://example.com/p&#x61;ge?param=value&param2=&lt;val'>",
+ "expected": [
+ {
+ "event": "opentagname",
+ "data": [
+ "a"
+ ]
+ },
+ {
+ "event": "attribute",
+ "data": [
+ "href",
+ "http://example.com/page?param=value&param2=<val"
+ ]
+ },
+ {
+ "event": "opentag",
+ "data": [
+ "a",
+ {
+ "href": "http://example.com/page?param=value&param2=<val"
+ }
+ ]
+ },
+ {
+ "event": "closetag",
+ "data": [
+ "a"
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/node_modules/htmlparser2/test/Events/22-double_brackets.json b/node_modules/htmlparser2/test/Events/22-double_brackets.json
new file mode 100644
index 000000000..38a513b77
--- /dev/null
+++ b/node_modules/htmlparser2/test/Events/22-double_brackets.json
@@ -0,0 +1,41 @@
+{
+ "name": "double brackets",
+ "options": {
+ "handler": {},
+ "parser": {}
+ },
+ "html": "<<princess-purpose>>testing</princess-purpose>",
+ "expected": [
+ {
+ "event": "text",
+ "data": [
+ "<"
+ ]
+ },
+ {
+ "event": "opentagname",
+ "data": [
+ "princess-purpose"
+ ]
+ },
+ {
+ "event": "opentag",
+ "data": [
+ "princess-purpose",
+ {}
+ ]
+ },
+ {
+ "event": "text",
+ "data": [
+ ">testing"
+ ]
+ },
+ {
+ "event": "closetag",
+ "data": [
+ "princess-purpose"
+ ]
+ }
+ ]
+}