mirror of
https://gitlab.com/walljm/dynamicbible.git
synced 2025-07-25 08:19:50 -04:00
* Add new test suite test/data-quality-tests.js * Make ParseBook exported so I can use it to get data for each book This is suboptimal since really the data should be in a look up table somewhere but I don't want to tackle that in this change. * Actually load the json data for each book and test that number of chapters exists.
43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
var requirejs = require('./require-injector').requirejs;
|
|
|
|
var cjson = require('cjson');
|
|
|
|
var loadBibleData = function(b, ch) {
|
|
return cjson.load('bibles/kjv_strongs/' + b.book + '-' + ch + ".json");
|
|
};
|
|
|
|
var init = function(exports) {
|
|
exports['test data quality'] = function(assert, done) {
|
|
requirejs(['reference'], function(r) {
|
|
for (var i =1; i <= 66; i++) {
|
|
var b = {sentinel: true};
|
|
var err = {};
|
|
var bName = r.BookName(i);
|
|
r.ParseBook(bName, b, err);
|
|
if (!b.book) {
|
|
assert.error("Got undefined for book", bName);
|
|
}
|
|
if (err.err) {
|
|
assert.error(err.err);
|
|
continue;
|
|
}
|
|
for (var j = 1; j <= b.lastchapter; j++) {
|
|
var ch = loadBibleData(b, j);
|
|
if (!ch) {
|
|
assert.err("Got undefined for " + bName + " chapter " + j);
|
|
}
|
|
assert.equal(ch.ch, j, bName + " chapter " + ch.ch + "==" + j);
|
|
}
|
|
}
|
|
done();
|
|
});
|
|
};
|
|
};
|
|
|
|
module.exports = {init: init};
|
|
|
|
if (module == require.main) {
|
|
init(exports);
|
|
require('test').run(exports);
|
|
}
|