Browse Source

`node -e ''` should mean eval(''), not invoke REPL

Fixes #1116
v0.7.4-release
Fuji, Goro 14 years ago
committed by Ryan Dahl
parent
commit
8971b59365
  1. 2
      src/node.js
  2. 6
      test/simple/test-cli-eval.js

2
src/node.js

@ -75,7 +75,7 @@
// Main entry point into most programs: // Main entry point into most programs:
process.nextTick(Module.runMain); process.nextTick(Module.runMain);
} else if (process._eval) { } else if (process._eval != null) {
// User passed '-e' or '--eval' arguments to Node. // User passed '-e' or '--eval' arguments to Node.
var Module = NativeModule.require('module'); var Module = NativeModule.require('module');
var rv = new Module()._compile('return eval(process._eval)', 'eval'); var rv = new Module()._compile('return eval(process._eval)', 'eval');

6
test/simple/test-cli-eval.js

@ -47,3 +47,9 @@ child.exec(nodejs + ' --eval "require(\'./test/simple/test-cli-eval.js\')"',
function(status, stdout, stderr) { function(status, stdout, stderr) {
assert.equal(status.code, 42); assert.equal(status.code, 42);
}); });
// empty program should do nothing
child.exec(nodejs + ' -e ""', function(status, stdout, stderr) {
assert.equal(stdout, 'undefined\n');
assert.equal(stderr, '');
});

Loading…
Cancel
Save