summaryrefslogtreecommitdiff
path: root/test/parallel/test-repl-context.js
diff options
context:
space:
mode:
authorRuben Bridgewater <ruben@bridgewater.de>2018-02-11 19:17:03 +0100
committerRuben Bridgewater <ruben@bridgewater.de>2018-02-12 15:42:06 +0100
commit1fc373bdf6758dcf045db21e4a075e4099ca7c19 (patch)
tree6845172f59c4bdf9be6d37efadc502e867adb248 /test/parallel/test-repl-context.js
parent60c9ad797994e544af21ce991dce2c3360ae1801 (diff)
downloadandroid-node-v8-1fc373bdf6758dcf045db21e4a075e4099ca7c19.tar.gz
android-node-v8-1fc373bdf6758dcf045db21e4a075e4099ca7c19.tar.bz2
android-node-v8-1fc373bdf6758dcf045db21e4a075e4099ca7c19.zip
Revert "repl: refactor tests to not rely on timing"
This reverts commit de848ac1e0483327a2ce8716c3f8567eaeacb660. The commit broke multiline repl. PR-URL: https://github.com/nodejs/node/pull/18715 Refs: https://github.com/nodejs/node/pull/17828 Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'test/parallel/test-repl-context.js')
-rw-r--r--test/parallel/test-repl-context.js67
1 files changed, 25 insertions, 42 deletions
diff --git a/test/parallel/test-repl-context.js b/test/parallel/test-repl-context.js
index 90364cee69..9d18067bc2 100644
--- a/test/parallel/test-repl-context.js
+++ b/test/parallel/test-repl-context.js
@@ -27,57 +27,40 @@ function testContext(repl) {
repl.close();
}
-const replserver = repl.start({ input: stream, output: stream });
-const callbacks = [];
-const $eval = replserver.eval;
-replserver.eval = function(code, context, file, cb) {
- const expected = callbacks.shift();
- return $eval.call(this, code, context, file, (...args) => {
- try {
- expected(cb, ...args);
- } catch (e) {
- console.error(e);
- process.exit(1);
- }
- });
-};
-testContextSideEffects(replserver);
+testContextSideEffects(repl.start({ input: stream, output: stream }));
function testContextSideEffects(server) {
assert.ok(!server.underscoreAssigned);
assert.strictEqual(server.lines.length, 0);
// an assignment to '_' in the repl server
- callbacks.push(common.mustCall((cb, ...args) => {
- assert.ok(server.underscoreAssigned);
- assert.strictEqual(server.last, 500);
- cb(...args);
- assert.strictEqual(server.lines.length, 1);
- assert.strictEqual(server.lines[0], '_ = 500;');
+ server.write('_ = 500;\n');
+ assert.ok(server.underscoreAssigned);
+ assert.strictEqual(server.lines.length, 1);
+ assert.strictEqual(server.lines[0], '_ = 500;');
+ assert.strictEqual(server.last, 500);
- // use the server to create a new context
- const context = server.createContext();
+ // use the server to create a new context
+ const context = server.createContext();
- // ensure that creating a new context does not
- // have side effects on the server
- assert.ok(server.underscoreAssigned);
- assert.strictEqual(server.lines.length, 1);
- assert.strictEqual(server.lines[0], '_ = 500;');
- assert.strictEqual(server.last, 500);
+ // ensure that creating a new context does not
+ // have side effects on the server
+ assert.ok(server.underscoreAssigned);
+ assert.strictEqual(server.lines.length, 1);
+ assert.strictEqual(server.lines[0], '_ = 500;');
+ assert.strictEqual(server.last, 500);
- // reset the server context
- server.resetContext();
- assert.ok(!server.underscoreAssigned);
- assert.strictEqual(server.lines.length, 0);
+ // reset the server context
+ server.resetContext();
+ assert.ok(!server.underscoreAssigned);
+ assert.strictEqual(server.lines.length, 0);
- // ensure that assigning to '_' in the new context
- // does not change the value in our server.
- assert.ok(!server.underscoreAssigned);
- vm.runInContext('_ = 1000;\n', context);
+ // ensure that assigning to '_' in the new context
+ // does not change the value in our server.
+ assert.ok(!server.underscoreAssigned);
+ vm.runInContext('_ = 1000;\n', context);
- assert.ok(!server.underscoreAssigned);
- assert.strictEqual(server.lines.length, 0);
- server.close();
- }));
- server.write('_ = 500;\n');
+ assert.ok(!server.underscoreAssigned);
+ assert.strictEqual(server.lines.length, 0);
+ server.close();
}