Skip to content

Instantly share code, notes, and snippets.

@syranez
Created July 21, 2012 20:53
Show Gist options
  • Save syranez/3157156 to your computer and use it in GitHub Desktop.
Save syranez/3157156 to your computer and use it in GitHub Desktop.
Busterjs-Testcase for nolp-parser.
var buster = require("buster");
var fs = require("fs");
var parser = require("../../lib/nolp/parser.js");
buster.testCase("parse_dataset-1", {
"setUp": function setUp (done) {
var file = "./data/dataset-1.html";
var test = this;
fs.readFile(file, "utf-8", function (error, data) {
if (error) {
throw error;
}
test.page = data;
done();
});
},
"parseContext": {
"setUp": function setUp () {
this.steps = [
{
"date": "Sa, 07.07.12 21:54 Uhr",
"location": "--",
"status": "Die Auftragsdaten zu dieser Sendung wurden vom Absender elektronisch an DHL übermittelt."
}, {
"date": "Mo, 09.07.12 11:24 Uhr",
"location": "Radefeld",
"status": "Die Sendung wurde im Start-Paketzentrum bearbeitet."
}, {
"date": "Di, 10.07.12 04:10 Uhr",
"location": "Kitzingen",
"status": "Die Sendung wurde im Ziel-Paketzentrum bearbeitet."
}, {
"date": "Di, 10.07.12 06:56 Uhr",
"location": "Kitzingen",
"status": "Die Sendung wurde in das Zustellfahrzeug geladen."
}, {
"date": "Di, 10.07.12 09:38 Uhr",
"location": "--",
"status": "Die Sendung wurde erfolgreich zugestellt."
}
];
},
"parse": function parse (done) {
var test = this;
parser.parse(this.page, function (error, data) {
// There must not be an error
assert.isNull(error, "Error on parsing occured.");
// check status
assert.same(data.status, "100%", "Status is wrong.");
// check step count
assert.same(data.steps.length, test.steps.length, "Numbers of step is wrong.");
// check steps
for (var i = 0, length = 5; i < length; i += 1) {
assert.same(data.steps[i].date, test.steps[i].date, "Date of step " + i + " is wrong.");
assert.same(data.steps[i].location, test.steps[i].location, "Location of step " + i + " is wrong.");
assert.same(data.steps[i].status, test.steps[i].status, "Status of step " + i + " is wrong.");
}
done();
});
}
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment