summaryrefslogtreecommitdiff
path: root/bin/wiki/ImportarDesdeURL/node_modules/domhandler/test/tests.js
diff options
context:
space:
mode:
Diffstat (limited to 'bin/wiki/ImportarDesdeURL/node_modules/domhandler/test/tests.js')
-rw-r--r--bin/wiki/ImportarDesdeURL/node_modules/domhandler/test/tests.js60
1 files changed, 60 insertions, 0 deletions
diff --git a/bin/wiki/ImportarDesdeURL/node_modules/domhandler/test/tests.js b/bin/wiki/ImportarDesdeURL/node_modules/domhandler/test/tests.js
new file mode 100644
index 00000000..6dc96a2f
--- /dev/null
+++ b/bin/wiki/ImportarDesdeURL/node_modules/domhandler/test/tests.js
@@ -0,0 +1,60 @@
+var fs = require("fs"),
+ path = require("path"),
+ assert = require("assert"),
+ util = require("util"),
+ Parser = require("htmlparser2").Parser,
+ Handler = require("../");
+
+var basePath = path.resolve(__dirname, "cases"),
+ inspectOpts = { showHidden: true, depth: null };
+
+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){
+ it(test.name, function(){
+ var expected = test.expected;
+
+ var handler = new Handler(function(err, actual){
+ assert.ifError(err);
+ try {
+ compare(expected, actual);
+ } catch(e){
+ e.expected = util.inspect(expected, inspectOpts);
+ e.actual = util.inspect(actual, inspectOpts);
+ throw e;
+ }
+ }, test.options);
+
+ var data = test.html;
+
+ var parser = new Parser(handler, test.options);
+
+ //first, try to run the test via chunks
+ if (test.streaming || test.streaming === undefined){
+ for(var i = 0; i < data.length; i++){
+ parser.write(data.charAt(i));
+ }
+ parser.done();
+ }
+
+ //then parse everything
+ parser.parseComplete(data);
+ });
+});
+
+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]);
+ }
+ }
+} \ No newline at end of file