typescriptify and cleanup

This commit is contained in:
Dror Gluska
2019-05-31 11:27:48 +03:00
parent 28006be580
commit cfebc962f0
28 changed files with 2863 additions and 1845 deletions

View File

@@ -0,0 +1,99 @@
import fs from "fs";
import "mocha";
import should from "should";
import stream from "stream";
import zlib from "zlib";
import { XmlParser } from "../src/parser";
describe("wrong resourcePath", () => {
it("should be able to detect the wrong resourcePath at root level.", (done) => {
const xmlStream = fs.createReadStream("./test/TestFiles/item.xml");
const parser = new XmlParser({ resourcePath: "/wrong/noNodes", emitOnNodeName: true });
const actualData : string[] = [];
const itemData : string[] = [];
let dataEventCount = 0;
let itemCount = 0;
parser.on("data", (data) => {
actualData.push(data);
dataEventCount++;
});
parser.on("item", (item) => {
itemData.push(item);
itemCount++;
});
parser.on("error", (err) => {
done(err);
});
parser.on("end", () => {
// console.log('actualData=', actualData)
// console.log('dataEventCount=', dataEventCount)
should(actualData.length).equal(0);
should(dataEventCount).equal(0);
should(itemData.length).equal(0);
should(itemCount).equal(0);
done();
});
xmlStream.pipe(parser);
});
it("should be able to detect wrong resourcePath while parsing xml", (done) => {
const xmlStream = fs.createReadStream("./test/TestFiles/manyItems.xml");
const parser = new XmlParser({ resourcePath: "/wrong/noNodes", emitOnNodeName: true });
let dataEventCount = 0;
let itemCount = 0;
parser.on("data", (data) => {
dataEventCount++;
});
parser.on("item", (data) => {
itemCount++;
});
parser.on("error", (err) => {
done(err);
});
parser.on("end", () => {
// console.log('dataEventCount=', dataEventCount)
should(dataEventCount).equal(0);
should(itemCount).equal(0);
done();
});
xmlStream.pipe(parser);
});
it("should properly parse a huge file.", (done) => {
const xmlStream = fs.createReadStream("./test/TestFiles/hugeFile.xml");
const parser = new XmlParser({ resourcePath: "/wrong/path", emitOnNodeName: true });
let dataEventCount = 0;
let itemCount = 0;
parser.on("data", (data) => {
dataEventCount++;
});
parser.on("item", (item) => {
itemCount++;
});
parser.on("error", (err) => {
done(err);
});
parser.on("end", () => {
// console.log('dataEventCount=', dataEventCount)
should(dataEventCount).equal(0);
should(itemCount).equal(0);
done();
});
xmlStream.pipe(parser);
});
});