From de98e0b232509d5f40c135d540a70e415272ff85 Mon Sep 17 00:00:00 2001
From: Florian Dold
Date: Wed, 3 May 2017 15:35:00 +0200
Subject: node_modules
---
node_modules/htmlparser2/.gitattributes | 2 +
node_modules/htmlparser2/.npmignore | 2 +
node_modules/htmlparser2/.travis.yml | 5 +
node_modules/htmlparser2/LICENSE | 18 +
node_modules/htmlparser2/README.md | 81 ++
node_modules/htmlparser2/lib/CollectingHandler.js | 55 +
node_modules/htmlparser2/lib/FeedHandler.js | 95 ++
node_modules/htmlparser2/lib/Parser.js | 314 +++++
node_modules/htmlparser2/lib/ProxyHandler.js | 27 +
node_modules/htmlparser2/lib/Stream.js | 35 +
node_modules/htmlparser2/lib/Tokenizer.js | 876 ++++++++++++
node_modules/htmlparser2/lib/WritableStream.js | 21 +
node_modules/htmlparser2/lib/entities/decode.json | 1 +
.../htmlparser2/lib/entities/entities.json | 1 +
node_modules/htmlparser2/lib/entities/legacy.json | 1 +
node_modules/htmlparser2/lib/entities/xml.json | 1 +
node_modules/htmlparser2/lib/index.js | 70 +
.../htmlparser2/node_modules/isarray/README.md | 54 +
.../node_modules/isarray/build/build.js | 209 +++
.../node_modules/isarray/component.json | 19 +
.../htmlparser2/node_modules/isarray/index.js | 3 +
.../htmlparser2/node_modules/isarray/package.json | 25 +
.../node_modules/readable-stream/.npmignore | 5 +
.../node_modules/readable-stream/LICENSE | 18 +
.../node_modules/readable-stream/README.md | 15 +
.../node_modules/readable-stream/duplex.js | 1 +
.../readable-stream/lib/_stream_duplex.js | 89 ++
.../readable-stream/lib/_stream_passthrough.js | 46 +
.../readable-stream/lib/_stream_readable.js | 982 ++++++++++++++
.../readable-stream/lib/_stream_transform.js | 210 +++
.../readable-stream/lib/_stream_writable.js | 386 ++++++
.../node_modules/readable-stream/package.json | 32 +
.../node_modules/readable-stream/passthrough.js | 1 +
.../node_modules/readable-stream/readable.js | 11 +
.../node_modules/readable-stream/transform.js | 1 +
.../node_modules/readable-stream/writable.js | 1 +
node_modules/htmlparser2/package.json | 36 +
node_modules/htmlparser2/test/01-events.js | 9 +
node_modules/htmlparser2/test/02-stream.js | 23 +
node_modules/htmlparser2/test/03-feed.js | 19 +
.../htmlparser2/test/Documents/Atom_Example.xml | 25 +
.../htmlparser2/test/Documents/Attributes.html | 16 +
node_modules/htmlparser2/test/Documents/Basic.html | 1 +
.../htmlparser2/test/Documents/RDF_Example.xml | 63 +
.../htmlparser2/test/Documents/RSS_Example.xml | 48 +
.../htmlparser2/test/Events/01-simple.json | 44 +
.../htmlparser2/test/Events/02-template.json | 63 +
.../htmlparser2/test/Events/03-lowercase_tags.json | 46 +
node_modules/htmlparser2/test/Events/04-cdata.json | 43 +
.../htmlparser2/test/Events/05-cdata-special.json | 35 +
.../htmlparser2/test/Events/06-leading-lt.json | 16 +
.../htmlparser2/test/Events/07-self-closing.json | 67 +
.../test/Events/08-implicit-close-tags.json | 59 +
.../htmlparser2/test/Events/09-attributes.json | 68 +
.../htmlparser2/test/Events/10-crazy-attrib.json | 52 +
.../test/Events/11-script_in_script.json | 54 +
.../test/Events/12-long-comment-end.json | 20 +
.../htmlparser2/test/Events/13-long-cdata-end.json | 22 +
.../test/Events/14-implicit-open-tags.json | 24 +
.../htmlparser2/test/Events/15-lt-whitespace.json | 16 +
.../htmlparser2/test/Events/16-double_attribs.json | 45 +
.../test/Events/17-numeric_entities.json | 16 +
.../test/Events/18-legacy_entities.json | 16 +
.../htmlparser2/test/Events/19-named_entities.json | 16 +
.../htmlparser2/test/Events/20-xml_entities.json | 16 +
.../test/Events/21-entity_in_attribute.json | 38 +
.../test/Events/22-double_brackets.json | 41 +
node_modules/htmlparser2/test/Feeds/01-rss.js | 34 +
node_modules/htmlparser2/test/Feeds/02-atom.js | 18 +
node_modules/htmlparser2/test/Feeds/03-rdf.js | 20 +
node_modules/htmlparser2/test/Stream/01-basic.json | 83 ++
node_modules/htmlparser2/test/Stream/02-RSS.json | 1093 +++++++++++++++
node_modules/htmlparser2/test/Stream/03-Atom.json | 644 +++++++++
node_modules/htmlparser2/test/Stream/04-RDF.json | 1399 ++++++++++++++++++++
.../htmlparser2/test/Stream/05-Attributes.json | 354 +++++
node_modules/htmlparser2/test/test-helper.js | 81 ++
76 files changed, 8496 insertions(+)
create mode 100644 node_modules/htmlparser2/.gitattributes
create mode 100644 node_modules/htmlparser2/.npmignore
create mode 100644 node_modules/htmlparser2/.travis.yml
create mode 100644 node_modules/htmlparser2/LICENSE
create mode 100644 node_modules/htmlparser2/README.md
create mode 100644 node_modules/htmlparser2/lib/CollectingHandler.js
create mode 100644 node_modules/htmlparser2/lib/FeedHandler.js
create mode 100644 node_modules/htmlparser2/lib/Parser.js
create mode 100644 node_modules/htmlparser2/lib/ProxyHandler.js
create mode 100644 node_modules/htmlparser2/lib/Stream.js
create mode 100644 node_modules/htmlparser2/lib/Tokenizer.js
create mode 100644 node_modules/htmlparser2/lib/WritableStream.js
create mode 100644 node_modules/htmlparser2/lib/entities/decode.json
create mode 100644 node_modules/htmlparser2/lib/entities/entities.json
create mode 100644 node_modules/htmlparser2/lib/entities/legacy.json
create mode 100644 node_modules/htmlparser2/lib/entities/xml.json
create mode 100644 node_modules/htmlparser2/lib/index.js
create mode 100644 node_modules/htmlparser2/node_modules/isarray/README.md
create mode 100644 node_modules/htmlparser2/node_modules/isarray/build/build.js
create mode 100644 node_modules/htmlparser2/node_modules/isarray/component.json
create mode 100644 node_modules/htmlparser2/node_modules/isarray/index.js
create mode 100644 node_modules/htmlparser2/node_modules/isarray/package.json
create mode 100644 node_modules/htmlparser2/node_modules/readable-stream/.npmignore
create mode 100644 node_modules/htmlparser2/node_modules/readable-stream/LICENSE
create mode 100644 node_modules/htmlparser2/node_modules/readable-stream/README.md
create mode 100644 node_modules/htmlparser2/node_modules/readable-stream/duplex.js
create mode 100644 node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_duplex.js
create mode 100644 node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_passthrough.js
create mode 100644 node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_readable.js
create mode 100644 node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_transform.js
create mode 100644 node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_writable.js
create mode 100644 node_modules/htmlparser2/node_modules/readable-stream/package.json
create mode 100644 node_modules/htmlparser2/node_modules/readable-stream/passthrough.js
create mode 100644 node_modules/htmlparser2/node_modules/readable-stream/readable.js
create mode 100644 node_modules/htmlparser2/node_modules/readable-stream/transform.js
create mode 100644 node_modules/htmlparser2/node_modules/readable-stream/writable.js
create mode 100644 node_modules/htmlparser2/package.json
create mode 100644 node_modules/htmlparser2/test/01-events.js
create mode 100644 node_modules/htmlparser2/test/02-stream.js
create mode 100644 node_modules/htmlparser2/test/03-feed.js
create mode 100644 node_modules/htmlparser2/test/Documents/Atom_Example.xml
create mode 100644 node_modules/htmlparser2/test/Documents/Attributes.html
create mode 100644 node_modules/htmlparser2/test/Documents/Basic.html
create mode 100644 node_modules/htmlparser2/test/Documents/RDF_Example.xml
create mode 100644 node_modules/htmlparser2/test/Documents/RSS_Example.xml
create mode 100644 node_modules/htmlparser2/test/Events/01-simple.json
create mode 100644 node_modules/htmlparser2/test/Events/02-template.json
create mode 100644 node_modules/htmlparser2/test/Events/03-lowercase_tags.json
create mode 100644 node_modules/htmlparser2/test/Events/04-cdata.json
create mode 100644 node_modules/htmlparser2/test/Events/05-cdata-special.json
create mode 100644 node_modules/htmlparser2/test/Events/06-leading-lt.json
create mode 100644 node_modules/htmlparser2/test/Events/07-self-closing.json
create mode 100644 node_modules/htmlparser2/test/Events/08-implicit-close-tags.json
create mode 100644 node_modules/htmlparser2/test/Events/09-attributes.json
create mode 100644 node_modules/htmlparser2/test/Events/10-crazy-attrib.json
create mode 100644 node_modules/htmlparser2/test/Events/11-script_in_script.json
create mode 100644 node_modules/htmlparser2/test/Events/12-long-comment-end.json
create mode 100644 node_modules/htmlparser2/test/Events/13-long-cdata-end.json
create mode 100644 node_modules/htmlparser2/test/Events/14-implicit-open-tags.json
create mode 100644 node_modules/htmlparser2/test/Events/15-lt-whitespace.json
create mode 100644 node_modules/htmlparser2/test/Events/16-double_attribs.json
create mode 100644 node_modules/htmlparser2/test/Events/17-numeric_entities.json
create mode 100644 node_modules/htmlparser2/test/Events/18-legacy_entities.json
create mode 100644 node_modules/htmlparser2/test/Events/19-named_entities.json
create mode 100644 node_modules/htmlparser2/test/Events/20-xml_entities.json
create mode 100644 node_modules/htmlparser2/test/Events/21-entity_in_attribute.json
create mode 100644 node_modules/htmlparser2/test/Events/22-double_brackets.json
create mode 100644 node_modules/htmlparser2/test/Feeds/01-rss.js
create mode 100644 node_modules/htmlparser2/test/Feeds/02-atom.js
create mode 100644 node_modules/htmlparser2/test/Feeds/03-rdf.js
create mode 100644 node_modules/htmlparser2/test/Stream/01-basic.json
create mode 100644 node_modules/htmlparser2/test/Stream/02-RSS.json
create mode 100644 node_modules/htmlparser2/test/Stream/03-Atom.json
create mode 100644 node_modules/htmlparser2/test/Stream/04-RDF.json
create mode 100644 node_modules/htmlparser2/test/Stream/05-Attributes.json
create mode 100644 node_modules/htmlparser2/test/test-helper.js
(limited to 'node_modules/htmlparser2')
diff --git a/node_modules/htmlparser2/.gitattributes b/node_modules/htmlparser2/.gitattributes
new file mode 100644
index 000000000..4bb50dc17
--- /dev/null
+++ b/node_modules/htmlparser2/.gitattributes
@@ -0,0 +1,2 @@
+# Auto detect text files and perform LF normalization
+* text eol=lf
\ No newline at end of file
diff --git a/node_modules/htmlparser2/.npmignore b/node_modules/htmlparser2/.npmignore
new file mode 100644
index 000000000..0db216bfa
--- /dev/null
+++ b/node_modules/htmlparser2/.npmignore
@@ -0,0 +1,2 @@
+npm-debug.log
+node_modules
diff --git a/node_modules/htmlparser2/.travis.yml b/node_modules/htmlparser2/.travis.yml
new file mode 100644
index 000000000..d63ba0956
--- /dev/null
+++ b/node_modules/htmlparser2/.travis.yml
@@ -0,0 +1,5 @@
+language: node_js
+node_js:
+ - 0.8
+ - 0.10
+ - 0.11
diff --git a/node_modules/htmlparser2/LICENSE b/node_modules/htmlparser2/LICENSE
new file mode 100644
index 000000000..0a35e029a
--- /dev/null
+++ b/node_modules/htmlparser2/LICENSE
@@ -0,0 +1,18 @@
+Copyright 2010, 2011, Chris Winberry . All rights reserved.
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to
+deal in the Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+IN THE SOFTWARE.
\ No newline at end of file
diff --git a/node_modules/htmlparser2/README.md b/node_modules/htmlparser2/README.md
new file mode 100644
index 000000000..9ed236d41
--- /dev/null
+++ b/node_modules/htmlparser2/README.md
@@ -0,0 +1,81 @@
+#htmlparser2 [](https://npmjs.org/package/htmlparser2) [](http://travis-ci.org/fb55/htmlparser2) [](https://david-dm.org/fb55/htmlparser2)
+
+A forgiving HTML/XML/RSS parser written in JS for NodeJS. The parser can handle streams (chunked data) and supports custom handlers for writing custom DOMs/output.
+
+##Installing
+ npm install htmlparser2
+
+A live demo of htmlparser2 is available at http://demos.forbeslindesay.co.uk/htmlparser2/
+
+##Usage
+
+```javascript
+var htmlparser = require("htmlparser2");
+var parser = new htmlparser.Parser({
+ onopentag: function(name, attribs){
+ if(name === "script" && attribs.type === "text/javascript"){
+ console.log("JS! Hooray!");
+ }
+ },
+ ontext: function(text){
+ console.log("-->", text);
+ },
+ onclosetag: function(tagname){
+ if(tagname === "script"){
+ console.log("That's it?!");
+ }
+ }
+});
+parser.write("Xyz
",
+ "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": [
+ "Heading1
"
+ ]
+ },
+ {
+ "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": "adsf
",
+ "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": "<> fo]]>",
+ "expected": [
+ {
+ "event": "opentagname",
+ "data": [
+ "tag"
+ ]
+ },
+ {
+ "event": "opentag",
+ "data": [
+ "tag",
+ {}
+ ]
+ },
+ {
+ "event": "cdatastart",
+ "data": []
+ },
+ {
+ "event": "text",
+ "data": [
+ " asdf ><> 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": "",
+ "expected": [
+ {
+ "event": "opentagname",
+ "data": [
+ "script"
+ ]
+ },
+ {
+ "event": "opentag",
+ "data": [
+ "script",
+ {}
+ ]
+ },
+ {
+ "event": "text",
+ "data": [
+ "/*<> 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": "Foo
",
+ "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": "Heading 2
",
+ "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": "",
+ "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": "stuff
",
+ "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": "",
+ "expected": [
+ {
+ "event": "opentagname",
+ "data": [
+ "p"
+ ]
+ },
+ {
+ "event": "opentag",
+ "data": [
+ "p",
+ {}
+ ]
+ },
+ {
+ "event": "opentagname",
+ "data": [
+ "script"
+ ]
+ },
+ {
+ "event": "opentag",
+ "data": [
+ "script",
+ {}
+ ]
+ },
+ {
+ "event": "text",
+ "data": [
+ "var str = '