mirror of
https://gitlab.com/walljm/dynamicbible.git
synced 2025-07-31 11:59:55 -04:00
Split out the unittests into separate files.
We use nodes require so we have to follow nodes module conventions for test suites. * As a result we need to inject the requirejs loader as well as the exports object. * Also we need to move the requirejs setup logic into it's own module for reuse. * The test modules add tests to the exports object for our test runner.
This commit is contained in:
parent
1a12a8f31e
commit
9125607faf
60
test/all.js
60
test/all.js
@ -1,61 +1,3 @@
|
|||||||
var requirejs = require('requirejs');
|
require('./ref-tests.js').init(exports);
|
||||||
|
|
||||||
requirejs.config({
|
|
||||||
baseUrl: 'js/',
|
|
||||||
nodeRequire: require
|
|
||||||
});
|
|
||||||
|
|
||||||
exports['test ref parsing'] = function(assert, done) {
|
|
||||||
requirejs(["reference"], function(r) {
|
|
||||||
var tests = [
|
|
||||||
["acts 1:4 - 60", "Acts 1:4 - 1:60"],
|
|
||||||
["acts 1:4 - *", "Acts 1:4 - 1:*"],
|
|
||||||
["acts 1:4 - 2:8", "Acts 1:4 - 2:8"],
|
|
||||||
["acts 1:4 - 1:8", "Acts 1:4 - 1:8"],
|
|
||||||
["acts 1:4 - 2", "Acts 1:4 - 1:4"],
|
|
||||||
["acts 1:4 - 8", "Acts 1:4 - 1:8"],
|
|
||||||
["acts 1:4-8", "Acts 1:4 - 1:8"],
|
|
||||||
["john 1:4 - john 2", "John 1:4 - 2:*"],
|
|
||||||
["john 1 : 4 - john 2", "John 1:4 - 2:*"],
|
|
||||||
["I john 1:4 - I john 2", "1 John 1:4 - 2:*"],
|
|
||||||
["1 john 1:4 - 1 john 2", "1 John 1:4 - 2:*"],
|
|
||||||
["1 john 1 : 4 - 1 john 2", "1 John 1:4 - 2:*"],
|
|
||||||
["1 john 3 - 1 john 5", "1 John 3:1 - 5:*"],
|
|
||||||
["1 John 1", "1 John 1:1 - 1:*"],
|
|
||||||
["John 1", "John 1:1 - 1:*"],
|
|
||||||
["1 John 1:1", "1 John 1:1 - 1:1"],
|
|
||||||
[" 1 John 1 : 1 ", "1 John 1:1 - 1:1"],
|
|
||||||
["John 1:1", "John 1:1 - 1:1"],
|
|
||||||
[" John 1 : 1 ", "John 1:1 - 1:1"],
|
|
||||||
[" 1 John 1 : 1 - 2 ", "1 John 1:1 - 1:2"],
|
|
||||||
["1 John 1:1-2", "1 John 1:1 - 1:2"],
|
|
||||||
["John 1:1-2", "John 1:1 - 1:2"],
|
|
||||||
["John 1 : 1 - 2", "John 1:1 - 1:2"],
|
|
||||||
["1 John 1 : 1 - 1 John 2 : 3 ", "1 John 1:1 - 2:3"],
|
|
||||||
["1 John 1:1-1 John 2:3", "1 John 1:1 - 2:3"],
|
|
||||||
["John 1:1-John 2:3", "John 1:1 - 2:3"],
|
|
||||||
["John 1 : 1 - John 2 : 3 ", "John 1:1 - 2:3"],
|
|
||||||
["John 1-2", "John 1:1 - 2:*"],
|
|
||||||
["John 1 - 2", "John 1:1 - 2:*"],
|
|
||||||
["1 John 1-2", "1 John 1:1 - 2:*"],
|
|
||||||
["1 John 1 - 2 ", "1 John 1:1 - 2:*"],
|
|
||||||
["John 3", "John 3:1 - 3:*"],
|
|
||||||
["John 2:1-John 3:3", "John 2:1 - 3:3"],
|
|
||||||
["John 2 : 1 - John 3 : 3 ", "John 2:1 - 3:3"],
|
|
||||||
["John 3-4", "John 3:1 - 4:*"],
|
|
||||||
["John 4 - 7", "John 4:1 - 7:*"],
|
|
||||||
["1 John 4-6", "1 John 4:1 - 6:*"],
|
|
||||||
["1 John 4 - 5 ", "1 John 4:1 - 5:*"]
|
|
||||||
];
|
|
||||||
for (var i = 0; i < tests.length; i++)
|
|
||||||
{
|
|
||||||
var t = tests[i];
|
|
||||||
var ref = r.Parse(t[0]);
|
|
||||||
var parsed = ref.bookname + " " + ref.startchapter + ":" + ref.startverse + " - " + ref.endchapter + ":" + ref.endverse;
|
|
||||||
assert.equal(parsed, t[1], parsed + " == " + t[1]);
|
|
||||||
}
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
if (module == require.main) require('test').run(exports);
|
if (module == require.main) require('test').run(exports);
|
||||||
|
63
test/ref-tests.js
Normal file
63
test/ref-tests.js
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
var requirejs = require('./require-injector').requirejs;
|
||||||
|
|
||||||
|
var init = function(exports) {
|
||||||
|
exports['test ref parsing'] = function(assert, done) {
|
||||||
|
requirejs(["reference"], function(r) {
|
||||||
|
var tests = [
|
||||||
|
["acts 1:4 - 60", "Acts 1:4 - 1:60"],
|
||||||
|
["acts 1:4 - *", "Acts 1:4 - 1:*"],
|
||||||
|
["acts 1:4 - 2:8", "Acts 1:4 - 2:8"],
|
||||||
|
["acts 1:4 - 1:8", "Acts 1:4 - 1:8"],
|
||||||
|
["acts 1:4 - 2", "Acts 1:4 - 1:4"],
|
||||||
|
["acts 1:4 - 8", "Acts 1:4 - 1:8"],
|
||||||
|
["acts 1:4-8", "Acts 1:4 - 1:8"],
|
||||||
|
["john 1:4 - john 2", "John 1:4 - 2:*"],
|
||||||
|
["john 1 : 4 - john 2", "John 1:4 - 2:*"],
|
||||||
|
["I john 1:4 - I john 2", "1 John 1:4 - 2:*"],
|
||||||
|
["1 john 1:4 - 1 john 2", "1 John 1:4 - 2:*"],
|
||||||
|
["1 john 1 : 4 - 1 john 2", "1 John 1:4 - 2:*"],
|
||||||
|
["1 john 3 - 1 john 5", "1 John 3:1 - 5:*"],
|
||||||
|
["1 John 1", "1 John 1:1 - 1:*"],
|
||||||
|
["John 1", "John 1:1 - 1:*"],
|
||||||
|
["1 John 1:1", "1 John 1:1 - 1:1"],
|
||||||
|
[" 1 John 1 : 1 ", "1 John 1:1 - 1:1"],
|
||||||
|
["John 1:1", "John 1:1 - 1:1"],
|
||||||
|
[" John 1 : 1 ", "John 1:1 - 1:1"],
|
||||||
|
[" 1 John 1 : 1 - 2 ", "1 John 1:1 - 1:2"],
|
||||||
|
["1 John 1:1-2", "1 John 1:1 - 1:2"],
|
||||||
|
["John 1:1-2", "John 1:1 - 1:2"],
|
||||||
|
["John 1 : 1 - 2", "John 1:1 - 1:2"],
|
||||||
|
["1 John 1 : 1 - 1 John 2 : 3 ", "1 John 1:1 - 2:3"],
|
||||||
|
["1 John 1:1-1 John 2:3", "1 John 1:1 - 2:3"],
|
||||||
|
["John 1:1-John 2:3", "John 1:1 - 2:3"],
|
||||||
|
["John 1 : 1 - John 2 : 3 ", "John 1:1 - 2:3"],
|
||||||
|
["John 1-2", "John 1:1 - 2:*"],
|
||||||
|
["John 1 - 2", "John 1:1 - 2:*"],
|
||||||
|
["1 John 1-2", "1 John 1:1 - 2:*"],
|
||||||
|
["1 John 1 - 2 ", "1 John 1:1 - 2:*"],
|
||||||
|
["John 3", "John 3:1 - 3:*"],
|
||||||
|
["John 2:1-John 3:3", "John 2:1 - 3:3"],
|
||||||
|
["John 2 : 1 - John 3 : 3 ", "John 2:1 - 3:3"],
|
||||||
|
["John 3-4", "John 3:1 - 4:*"],
|
||||||
|
["John 4 - 7", "John 4:1 - 7:*"],
|
||||||
|
["1 John 4-6", "1 John 4:1 - 6:*"],
|
||||||
|
["1 John 4 - 5 ", "1 John 4:1 - 5:*"]
|
||||||
|
];
|
||||||
|
for (var i = 0; i < tests.length; i++)
|
||||||
|
{
|
||||||
|
var t = tests[i];
|
||||||
|
var ref = r.Parse(t[0]);
|
||||||
|
var parsed = ref.bookname + " " + ref.startchapter + ":" + ref.startverse + " - " + ref.endchapter + ":" + ref.endverse;
|
||||||
|
assert.equal(parsed, t[1], parsed + " == " + t[1]);
|
||||||
|
}
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = {init: init};
|
||||||
|
|
||||||
|
if (module == require.main) {
|
||||||
|
init(exports);
|
||||||
|
require('test').run(exports);
|
||||||
|
}
|
10
test/require-injector.js
Normal file
10
test/require-injector.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
var requirejs = require('requirejs');
|
||||||
|
|
||||||
|
requirejs.config({
|
||||||
|
baseUrl: "js/",
|
||||||
|
nodeRequire: require
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
requirejs: requirejs
|
||||||
|
};
|
Loading…
x
Reference in New Issue
Block a user