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;
+
+}());