diff --git a/test/scripts.js b/test/scripts.js index 9d3bb311..18042638 100644 --- a/test/scripts.js +++ b/test/scripts.js @@ -2,89 +2,33 @@ // @include "util/*.js" (function () { - 'use strict'; +'use strict'; - modulejs.define('config', util.uniqObj()); - modulejs._private.instances = {}; +modulejs.define('config', util.uniqObj()); +modulejs._private.instances = {}; - window.assert = chai.assert; +$(function () { - mocha.setup('bdd'); - mocha.checkLeaks(); + $('html').removeClass(); + util.pinHtml(); + util.runMocha(); +}); - function update() { +util.setupMocha(); - $('#mocha-overlay .suite').each(function () { +describe('unit tests', function () { - var $suite = $(this); + // @include "tests/unit/premisses.js" + // @include "tests/unit/modulejs.js" + // @include "tests/unit/libs.js" + // @include "tests/unit/config.js" + // @include "tests/unit/boot.js" + // @include "tests/unit/*/*.js" +}); - var tests = $suite.find('.test').length; - var passed = $suite.find('.test.pass').length; - var failed = tests - passed; +describe('integration tests', function () { - var $header = $suite.find('> h1 a'); - var $count = $('' + passed + '' + failed + ''); + // @include "tests/integration/**/*.js" +}); - if (!failed) { - $count.find('.failed').remove(); - } - - $suite.addClass(tests === passed ? 'pass' : 'fail'); - $header.find('.count').remove(); - $header.append($count); - }); - } - - var count = 0; - function onTest() { - - if (count % 25 === 0) { - update(); - } - count += 1; - } - - function onEnd() { - - $('#mocha-overlay').addClass($('.test.fail').length ? 'fail' : 'pass'); - - $('#mocha-overlay code').each(function () { - - var $code = $(this); - $code.text($code.text().trim().replace(/;\n\s*/g, ';\n')); - }); - - update(); - } - - function init() { - - $('html').removeClass(); - util.pinHtml(); - mocha - .run() - .on('test', onTest) - .on('end', onEnd); - } - - $(init); -}()); - -(function () { - 'use strict'; - - describe('unit tests', function () { - - // @include "tests/unit/premisses.js" - // @include "tests/unit/modulejs.js" - // @include "tests/unit/libs.js" - // @include "tests/unit/config.js" - // @include "tests/unit/boot.js" - // @include "tests/unit/*/*.js" - }); - - describe('integration tests', function () { - - // @include "tests/integration/**/*.js" - }); }()); diff --git a/test/util/mocha.js b/test/util/mocha.js new file mode 100644 index 00000000..fb81fa87 --- /dev/null +++ b/test/util/mocha.js @@ -0,0 +1,68 @@ +(function () { +'use strict'; + +function update() { + + $('#mocha-overlay .suite').each(function () { + + var $suite = $(this); + + var tests = $suite.find('.test').length; + var passed = $suite.find('.test.pass').length; + var failed = tests - passed; + + var $header = $suite.find('> h1 a'); + var $count = $('' + passed + '' + failed + ''); + + if (!failed) { + $count.find('.failed').remove(); + } + + $suite.addClass(tests === passed ? 'pass' : 'fail'); + $header.find('.count').remove(); + $header.append($count); + }); +} + +function onEnd() { + + $('#mocha-overlay').addClass($('.test.fail').length ? 'fail' : 'pass'); + + $('#mocha-overlay code').each(function () { + + var $code = $(this); + $code.text($code.text().trim().replace(/;\n\s*/g, ';\n')); + }); + + update(); +} + +var count = 0; +function onTest() { + + if (count % 25 === 0) { + update(); + } + count += 1; +} + +function setupMocha() { + + window.assert = chai.assert; + mocha.setup('bdd'); + mocha.checkLeaks(); +} + +function runMocha() { + + mocha.run() + .on('test', onTest) + .on('end', onEnd); +} + + +window.util = window.util || {}; +window.util.setupMocha = setupMocha; +window.util.runMocha = runMocha; + +}());