From 9125607faf2970638de2a94f38c665b06ca9e722 Mon Sep 17 00:00:00 2001 From: "Jeremy Wall (zaphar)" Date: Sat, 16 Nov 2013 15:26:49 -0500 Subject: [PATCH] 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. --- test/all.js | 60 +------------------------------------- test/ref-tests.js | 63 ++++++++++++++++++++++++++++++++++++++++ test/require-injector.js | 10 +++++++ 3 files changed, 74 insertions(+), 59 deletions(-) create mode 100644 test/ref-tests.js create mode 100644 test/require-injector.js diff --git a/test/all.js b/test/all.js index 58d9011c..ea897bda 100644 --- a/test/all.js +++ b/test/all.js @@ -1,61 +1,3 @@ -var requirejs = require('requirejs'); - -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(); - }); -}; +require('./ref-tests.js').init(exports); if (module == require.main) require('test').run(exports); diff --git a/test/ref-tests.js b/test/ref-tests.js new file mode 100644 index 00000000..44fbcae2 --- /dev/null +++ b/test/ref-tests.js @@ -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); +} diff --git a/test/require-injector.js b/test/require-injector.js new file mode 100644 index 00000000..1f68c5ef --- /dev/null +++ b/test/require-injector.js @@ -0,0 +1,10 @@ +var requirejs = require('requirejs'); + +requirejs.config({ + baseUrl: "js/", + nodeRequire: require +}); + +module.exports = { + requirejs: requirejs +};