aboutsummaryrefslogtreecommitdiff
path: root/cordova/node_modules/shelljs/scripts/run-tests.js
diff options
context:
space:
mode:
Diffstat (limited to 'cordova/node_modules/shelljs/scripts/run-tests.js')
-rwxr-xr-xcordova/node_modules/shelljs/scripts/run-tests.js50
1 files changed, 50 insertions, 0 deletions
diff --git a/cordova/node_modules/shelljs/scripts/run-tests.js b/cordova/node_modules/shelljs/scripts/run-tests.js
new file mode 100755
index 0000000..f9d31e0
--- /dev/null
+++ b/cordova/node_modules/shelljs/scripts/run-tests.js
@@ -0,0 +1,50 @@
+#!/usr/bin/env node
+require('../global');
+
+var path = require('path');
+
+var failed = false;
+
+//
+// Lint
+//
+JSHINT_BIN = './node_modules/jshint/bin/jshint';
+cd(__dirname + '/..');
+
+if (!test('-f', JSHINT_BIN)) {
+ echo('JSHint not found. Run `npm install` in the root dir first.');
+ exit(1);
+}
+
+if (exec(JSHINT_BIN + ' *.js test/*.js').code !== 0) {
+ failed = true;
+ echo('*** JSHINT FAILED! (return code != 0)');
+ echo();
+} else {
+ echo('All JSHint tests passed');
+ echo();
+}
+
+//
+// Unit tests
+//
+cd(__dirname + '/../test');
+ls('*.js').forEach(function(file) {
+ echo('Running test:', file);
+ if (exec('node ' + file).code !== 123) { // 123 avoids false positives (e.g. premature exit)
+ failed = true;
+ echo('*** TEST FAILED! (missing exit code "123")');
+ echo();
+ }
+});
+
+if (failed) {
+ echo();
+ echo('*******************************************************');
+ echo('WARNING: Some tests did not pass!');
+ echo('*******************************************************');
+ exit(1);
+} else {
+ echo();
+ echo('All tests passed.');
+}