| var test = require('tap').test; |
| var spawn = require('child_process').spawn; |
| var path = require('path'); |
| var vm = require('vm'); |
| |
| test('compiling coffee with -c', function (t) { |
| t.plan(4); |
| |
| var cwd = process.cwd(); |
| process.chdir(__dirname); |
| |
| var ps = spawn(process.execPath, [ |
| path.resolve(__dirname, '../bin/cmd.js'), |
| '-c', '"' + process.execPath + '" "' + __dirname + '/../node_modules/coffee-script/bin/coffee" -sc', |
| 'coffee_bin/main.coffee' |
| ]); |
| var src = ''; |
| var err = ''; |
| ps.stdout.on('data', function (buf) { src += buf }); |
| ps.stderr.on('data', function (buf) { err += buf }); |
| |
| ps.on('exit', function (code) { |
| t.equal(code, 0); |
| t.equal(err, ''); |
| |
| var msgs = [ 'hello world!', 'from x!' ]; |
| var c = { |
| console: { |
| log: function (msg) { |
| t.equal(msg, msgs.shift()); |
| } |
| } |
| }; |
| vm.runInNewContext(src, c); |
| }); |
| }); |