summaryrefslogtreecommitdiffstats
path: root/tasks
diff options
context:
space:
mode:
authorkpdecker <kpdecker@gmail.com>2013-11-05 18:02:25 -0600
committerkpdecker <kpdecker@gmail.com>2013-11-05 18:02:25 -0600
commit96a45a4a967e5d11afba9d2deb8fc77d0a0992f3 (patch)
tree1d9919db68ccd90a038a3336b7deb2a52a2fa298 /tasks
parent6f6eb89bd85eba99285ea4e0dc39c238415b7e6d (diff)
downloadhandlebars.js-96a45a4a967e5d11afba9d2deb8fc77d0a0992f3.zip
handlebars.js-96a45a4a967e5d11afba9d2deb8fc77d0a0992f3.tar.gz
handlebars.js-96a45a4a967e5d11afba9d2deb8fc77d0a0992f3.tar.bz2
Add simple binary utility tests
Diffstat (limited to 'tasks')
-rw-r--r--tasks/test.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/tasks/test.js b/tasks/test.js
new file mode 100644
index 0000000..cd5f00e
--- /dev/null
+++ b/tasks/test.js
@@ -0,0 +1,32 @@
+var childProcess = require('child_process'),
+ fs = require('fs');
+
+module.exports = function(grunt) {
+ grunt.registerTask('test:bin', function() {
+ var done = this.async();
+
+ childProcess.exec('./bin/handlebars -a spec/artifacts/empty.handlebars', function(err, stdout) {
+ if (err) {
+ throw err;
+ }
+
+ if (stdout.toString() !== fs.readFileSync('./spec/expected/empty.amd.js').toString()) {
+ throw new Error('Expected binary output differed');
+ }
+
+ done();
+ });
+ });
+ grunt.registerTask('test:mocha', function() {
+ var done = this.async();
+
+ var runner = childProcess.fork('./spec/env/runner', [], {stdio: 'inherit'});
+ runner.on('close', function(code) {
+ if (code != 0) {
+ grunt.fatal(code + ' tests failed');
+ }
+ done();
+ });
+ });
+ grunt.registerTask('test', ['test:bin', 'test:mocha']);
+};