diff options
author | kpdecker <kpdecker@gmail.com> | 2013-11-05 18:02:25 -0600 |
---|---|---|
committer | kpdecker <kpdecker@gmail.com> | 2013-11-05 18:02:25 -0600 |
commit | 96a45a4a967e5d11afba9d2deb8fc77d0a0992f3 (patch) | |
tree | 1d9919db68ccd90a038a3336b7deb2a52a2fa298 /tasks | |
parent | 6f6eb89bd85eba99285ea4e0dc39c238415b7e6d (diff) | |
download | handlebars.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.js | 32 |
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']); +}; |