mirror of https://github.com/lukechilds/node.git
Browse Source
* Change vars to let/const * Add mustCall * equal -> strictEqual * remove timeout PR-URL: https://github.com/nodejs/node/pull/9931 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>v4.x
Kailean Courtney
8 years ago
committed by
Michaël Zasso
1 changed files with 22 additions and 25 deletions
@ -1,52 +1,49 @@ |
|||
'use strict'; |
|||
var common = require('../common'); |
|||
const common = require('../common'); |
|||
common.globalCheck = false; |
|||
|
|||
var assert = require('assert'); |
|||
var repl = require('repl'); |
|||
const assert = require('assert'); |
|||
const repl = require('repl'); |
|||
|
|||
// Create a dummy stream that does nothing
|
|||
const dummy = new common.ArrayStream(); |
|||
|
|||
function testReset(cb) { |
|||
var r = repl.start({ |
|||
const r = repl.start({ |
|||
input: dummy, |
|||
output: dummy, |
|||
useGlobal: false |
|||
}); |
|||
r.context.foo = 42; |
|||
r.on('reset', function(context) { |
|||
r.on('reset', common.mustCall(function(context) { |
|||
assert(!!context, 'REPL did not emit a context with reset event'); |
|||
assert.equal(context, r.context, 'REPL emitted incorrect context'); |
|||
assert.equal(context.foo, undefined, 'REPL emitted the previous context' + |
|||
', and is not using global as context'); |
|||
assert.strictEqual(context, r.context, 'REPL emitted incorrect context'); |
|||
assert.strictEqual( |
|||
context.foo, |
|||
undefined, |
|||
'REPL emitted the previous context, and is not using global as context' |
|||
); |
|||
context.foo = 42; |
|||
cb(); |
|||
}); |
|||
})); |
|||
r.resetContext(); |
|||
} |
|||
|
|||
function testResetGlobal(cb) { |
|||
var r = repl.start({ |
|||
function testResetGlobal() { |
|||
const r = repl.start({ |
|||
input: dummy, |
|||
output: dummy, |
|||
useGlobal: true |
|||
}); |
|||
r.context.foo = 42; |
|||
r.on('reset', function(context) { |
|||
assert.equal(context.foo, 42, |
|||
'"foo" property is missing from REPL using global as context'); |
|||
cb(); |
|||
}); |
|||
r.on('reset', common.mustCall(function(context) { |
|||
assert.strictEqual( |
|||
context.foo, |
|||
42, |
|||
'"foo" property is missing from REPL using global as context' |
|||
); |
|||
})); |
|||
r.resetContext(); |
|||
} |
|||
|
|||
var timeout = setTimeout(function() { |
|||
common.fail('Timeout, REPL did not emit reset events'); |
|||
}, 5000); |
|||
|
|||
testReset(function() { |
|||
testResetGlobal(function() { |
|||
clearTimeout(timeout); |
|||
}); |
|||
}); |
|||
testReset(common.mustCall(testResetGlobal)); |
|||
|
Loading…
Reference in new issue