diff --git a/js/common/modules/test_runner.js b/js/common/modules/test_runner.js index debe6ade95..17a8a2f2ed 100644 --- a/js/common/modules/test_runner.js +++ b/js/common/modules/test_runner.js @@ -1,76 +1,78 @@ /*jslint indent: 2, nomen: true, maxlen: 120, regexp: true, todo: true */ /*global module, require, exports, print */ -var RunTest = require('jsunity').runTest; -var _ = require("underscore"); -var internal = require('internal'); -var fs = require('fs'); + +var runTest = require('jsunity').runTest, + _ = require('underscore'), + internal = require('internal'), + fs = require('fs'), + runJSUnityTests, + runJasmineTests, + runCommandLineTests; //////////////////////////////////////////////////////////////////////////////// /// @brief runs all jsunity tests //////////////////////////////////////////////////////////////////////////////// -function RunJSUnityTests (tests) { - var result = true, - i, - file, - ok; +runJSUnityTests = function (tests) { + 'use strict'; + var result = true; - for (i = 0; i < tests.length; ++i) { - file = tests[i]; - print(); - print("running tests from file '" + file + "'"); + _.each(tests, function (file) { + print("\nRunning JSUnity test from file '" + file + "'"); try { - ok = RunTest(file); - result = result && ok; - } - catch (err) { + result = result && runTest(file); + } catch (err) { print("cannot run test file '" + file + "': " + err); print(err.stack); result = false; } internal.wait(0); // force GC - } + }); return result; -} +}; //////////////////////////////////////////////////////////////////////////////// /// @brief runs all jsunity tests //////////////////////////////////////////////////////////////////////////////// -function RunJasmineTests (testFiles) { - var result = true; +runJasmineTests = function (testFiles) { + 'use strict'; + var result = true, + tests, + jasmine; if (testFiles.length > 0) { - var tests = _.map(testFiles, function (x) { return fs.read(x); }), - jasmine = require('jasmine'); + tests = _.map(testFiles, function (x) { return fs.read(x); }); + jasmine = require('jasmine'); print('\nRunning Jasmine Tests: ' + testFiles.join(', ')); result = jasmine.executeTestSuite(tests); } return result; -} +}; //////////////////////////////////////////////////////////////////////////////// /// @brief runs tests from command-line //////////////////////////////////////////////////////////////////////////////// -function runCommandLineTests () { +runCommandLineTests = function () { + 'use strict'; var result = true, unitTests = internal.unitTests(), isSpecRegEx = /.+spec.js/, - isSpec = function(unitTest) { + isSpec = function (unitTest) { return isSpecRegEx.test(unitTest); }, jasmine = _.filter(unitTests, isSpec), jsUnity = _.reject(unitTests, isSpec); - result = RunJSUnityTests(jsUnity) && RunJasmineTests(jasmine); + result = runJSUnityTests(jsUnity) && runJasmineTests(jasmine); internal.setUnitTestsResult(result); -} +}; exports.runCommandLineTests = runCommandLineTests;