mirror of
https://github.com/nodejs/node.git
synced 2025-05-02 03:31:35 +00:00

The assert.fail function signature has the message as the third argument but, understandably, it is often assumed that it is the first argument (or at least the first argument if no other arguments are passed). This corrects the assert.fail() invocations in the Node.js tests. Before: assert.fail('message'); // result: AssertionError: 'message' undefined undefined After: assert.fail(null, null, 'message'); // result: AssertionError: message PR-URL: https://github.com/nodejs/node/pull/3378 Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
56 lines
1.4 KiB
JavaScript
56 lines
1.4 KiB
JavaScript
'use strict';
|
|
var common = require('../common');
|
|
common.globalCheck = false;
|
|
|
|
var assert = require('assert');
|
|
var repl = require('repl');
|
|
var Stream = require('stream');
|
|
|
|
// create a dummy stream that does nothing
|
|
var dummy = new Stream();
|
|
dummy.write = dummy.pause = dummy.resume = function() {};
|
|
dummy.readable = dummy.writable = true;
|
|
|
|
function testReset(cb) {
|
|
var r = repl.start({
|
|
input: dummy,
|
|
output: dummy,
|
|
useGlobal: false
|
|
});
|
|
r.context.foo = 42;
|
|
r.on('reset', 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');
|
|
context.foo = 42;
|
|
cb();
|
|
});
|
|
r.resetContext();
|
|
}
|
|
|
|
function testResetGlobal(cb) {
|
|
var 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.resetContext();
|
|
}
|
|
|
|
var timeout = setTimeout(function() {
|
|
assert.fail(null, null, 'Timeout, REPL did not emit reset events');
|
|
}, 5000);
|
|
|
|
testReset(function() {
|
|
testResetGlobal(function() {
|
|
clearTimeout(timeout);
|
|
});
|
|
});
|