Index: tools/vulcanize/node_modules/vulcanize/node_modules/cheerio/node_modules/htmlparser2/node_modules/domhandler/runtests.js |
diff --git a/tools/vulcanize/node_modules/vulcanize/node_modules/cheerio/node_modules/htmlparser2/node_modules/domhandler/runtests.js b/tools/vulcanize/node_modules/vulcanize/node_modules/cheerio/node_modules/htmlparser2/node_modules/domhandler/runtests.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a531cefd3997c90a62734385c4c6cde69096df2a |
--- /dev/null |
+++ b/tools/vulcanize/node_modules/vulcanize/node_modules/cheerio/node_modules/htmlparser2/node_modules/domhandler/runtests.js |
@@ -0,0 +1,51 @@ |
+var fs = require("fs"), |
+ path = require("path"), |
+ assert = require("assert"), |
+ Parser = require("htmlparser2").Parser, |
+ Handler = require("./"); |
+ |
+var basePath = path.resolve(__dirname, "tests"), |
+ chunkSize = 5; |
+ |
+fs |
+.readdirSync(basePath) |
+.filter(RegExp.prototype.test, /\.json$/) //only allow .json files |
+.map(function(name){ |
+ return path.resolve(basePath, name); |
+}) |
+.map(require) |
+.forEach(function(test){ |
+ console.log("Testing:", test.name); |
+ |
+ var handler = new Handler(function(err, dom){ |
+ assert.ifError(err); |
+ compare(test.expected, dom); |
+ }, test.options.handler); |
+ |
+ var data = test.html; |
+ |
+ var parser = new Parser(handler, test.options.parser); |
+ |
+ //first, try to run the test via chunks |
+ for(var i = 0; i < data.length; i+=chunkSize){ |
+ parser.write(data.substring(i, i + chunkSize)); |
+ } |
+ parser.done(); |
+ |
+ //then parse everything |
+ parser.parseComplete(data); |
+}); |
+ |
+console.log("\nAll tests passed!"); |
+ |
+function compare(expected, result){ |
+ assert.equal(typeof expected, typeof result, "types didn't match"); |
+ if(typeof expected !== "object" || expected === null){ |
+ assert.strictEqual(expected, result, "result doesn't equal expected"); |
+ } else { |
+ for(var prop in expected){ |
+ assert.ok(prop in result, "result didn't contain property " + prop); |
+ compare(expected[prop], result[prop]); |
+ } |
+ } |
+} |