summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSolly Ross <sross@redhat.com>2014-06-03 11:14:42 -0400
committerSolly Ross <sross@redhat.com>2014-06-03 11:17:33 -0400
commitd906dfc953df38e56756ae4e63f4f017f7aa6921 (patch)
treeaca05a72efa2d664080b3bddd2c6152c4e11706e
parent4a4643c05d2412bcb632fde5610f6e0e76d7dea1 (diff)
downloadnovnc-d906dfc953df38e56756ae4e63f4f017f7aa6921.tar.gz
Add support for injecting test helper files
Now, the phrase `requires test modules: ` may be place in a comment in a file to require modules local to the test directory, similarly to the way the `require local modules: ` line may be used to inject files in the 'include' directory. This is useful for when common fakes need to be injected into a test.
-rwxr-xr-xtests/run_from_console.js11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/run_from_console.js b/tests/run_from_console.js
index a5ce635..30aed6e 100755
--- a/tests/run_from_console.js
+++ b/tests/run_from_console.js
@@ -46,6 +46,16 @@ if (all_js && !program.autoInject) {
all_modules[path.resolve(__dirname, '../include/', mod)+'.js'] = 1;
});
}
+
+ var fakes_ind = content.indexOf('requires test files: ');
+ if (fakes_ind > -1) {
+ fakes_ind += 'requires test modules: '.length;
+ var fakes_eol = content.indexOf('\n', fakes_ind);
+ var fakes_modules = content.slice(fakes_ind, fakes_eol).split(/,\s*/);
+ fakes_modules.forEach(function (mod) {
+ all_modules[path.resolve(__dirname, mod) + '.js'] = 1;
+ });
+ }
});
program.autoInject = Object.keys(all_modules);
@@ -65,6 +75,7 @@ if (program.autoInject) {
template.header += "\n" + template.script_tag(path.resolve(__dirname, 'node_modules/mocha/mocha.js'));
template.header += "\n" + template.script_tag(path.resolve(__dirname, 'node_modules/sinon/pkg/sinon.js'));
template.header += "\n" + template.script_tag(path.resolve(__dirname, 'node_modules/sinon-chai/lib/sinon-chai.js'));
+ template.header += "\n" + template.script_tag(path.resolve(__dirname, 'node_modules/sinon-chai/lib/sinon-chai.js'));
template.header += "\n<script>mocha.setup('bdd');</script>";