From b9a5b9ccc4d76bf28f251a1f666311f589062530 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Wed, 10 Feb 2016 21:44:15 -0800 Subject: [PATCH] test: minimal repl eval option test Fixes: https://github.com/nodejs/node/issues/3544 PR-URL: https://github.com/nodejs/node/pull/5192 Reviewed-By: Jeremiah Senkpiel Reviewed-By: James M Snell --- test/parallel/test-repl-eval.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 test/parallel/test-repl-eval.js diff --git a/test/parallel/test-repl-eval.js b/test/parallel/test-repl-eval.js new file mode 100644 index 00000000000000..7e5c7d39946c67 --- /dev/null +++ b/test/parallel/test-repl-eval.js @@ -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); + }); +}