Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(959)

Unified Diff: tools/vulcanize/node_modules/vulcanize/node_modules/cheerio/node_modules/htmlparser2/node_modules/domhandler/runtests.js

Issue 125733002: Add vulcanize to tools. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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]);
+ }
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698