test: minimal repl eval option test
authorRich Trott <rtrott@gmail.com>
Thu, 11 Feb 2016 05:44:15 +0000 (21:44 -0800)
committerMyles Borins <mborins@us.ibm.com>
Wed, 2 Mar 2016 22:01:11 +0000 (14:01 -0800)
Fixes: https://github.com/nodejs/node/issues/3544
PR-URL: https://github.com/nodejs/node/pull/5192
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
test/parallel/test-repl-eval.js [new file with mode: 0644]

diff --git a/test/parallel/test-repl-eval.js b/test/parallel/test-repl-eval.js
new file mode 100644 (file)
index 0000000..7e5c7d3
--- /dev/null
@@ -0,0 +1,29 @@
+'use strict';
+const common = require('../common');
+const assert = require('assert');
+const repl = require('repl');
+
+{
+  let evalCalledWithExpectedArgs = false;
+
+  const options = {
+    eval: common.mustCall((cmd, context) => {
+      // Assertions here will not cause the test to exit with an error code
+      // so set a boolean that is checked in process.on('exit',...) instead.
+      evalCalledWithExpectedArgs = (cmd === 'foo\n' && context.foo === 'bar');
+    })
+  };
+
+  const r = repl.start(options);
+  r.context = {foo: 'bar'};
+
+  try {
+    r.write('foo\n');
+  } finally {
+    r.write('.exit\n');
+  }
+
+  process.on('exit', () => {
+    assert(evalCalledWithExpectedArgs);
+  });
+}