| |
| var fs = require("fs"), |
| util = require("util"), |
| path = require("path"), |
| xml = fs.readFileSync(path.join(__dirname, "test.xml"), "utf8"), |
| sax = require("../lib/sax"), |
| strict = sax.parser(true), |
| loose = sax.parser(false, {trim:true}), |
| inspector = function (ev) { return function (data) { |
| console.error("%s %s %j", this.line+":"+this.column, ev, data); |
| }}; |
| |
| sax.EVENTS.forEach(function (ev) { |
| loose["on"+ev] = inspector(ev); |
| }); |
| loose.onend = function () { |
| console.error("end"); |
| console.error(loose); |
| }; |
| |
| // do this in random bits at a time to verify that it works. |
| (function () { |
| if (xml) { |
| var c = Math.ceil(Math.random() * 1000) |
| loose.write(xml.substr(0,c)); |
| xml = xml.substr(c); |
| process.nextTick(arguments.callee); |
| } else loose.close(); |
| })(); |