mirror of
https://github.com/nodejs/node.git
synced 2025-05-04 16:42:07 +00:00

The test directory had linting for undefined variables disabled. It is enabled everywhere else in the code base. Let's disable the fule for individual lines in the handful of tests that use undefined variables. PR-URL: https://github.com/nodejs/node/pull/6255 Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Roman Reiss <me@silverwind.io>
54 lines
1.2 KiB
JavaScript
54 lines
1.2 KiB
JavaScript
'use strict';
|
|
require('../common');
|
|
var assert = require('assert');
|
|
|
|
const order = [];
|
|
let exceptionHandled = false;
|
|
|
|
// This nextTick function will throw an error. It should only be called once.
|
|
// When it throws an error, it should still get removed from the queue.
|
|
process.nextTick(function() {
|
|
order.push('A');
|
|
// cause an error
|
|
what(); // eslint-disable-line no-undef
|
|
});
|
|
|
|
// This nextTick function should remain in the queue when the first one
|
|
// is removed. It should be called if the error in the first one is
|
|
// caught (which we do in this test).
|
|
process.nextTick(function() {
|
|
order.push('C');
|
|
});
|
|
|
|
function testNextTickWith(val) {
|
|
assert.throws(
|
|
function() {
|
|
process.nextTick(val);
|
|
},
|
|
TypeError
|
|
);
|
|
}
|
|
|
|
testNextTickWith(false);
|
|
testNextTickWith(true);
|
|
testNextTickWith(1);
|
|
testNextTickWith('str');
|
|
testNextTickWith({});
|
|
testNextTickWith([]);
|
|
|
|
process.on('uncaughtException', function() {
|
|
if (!exceptionHandled) {
|
|
exceptionHandled = true;
|
|
order.push('B');
|
|
}
|
|
else {
|
|
// If we get here then the first process.nextTick got called twice
|
|
order.push('OOPS!');
|
|
}
|
|
});
|
|
|
|
process.on('exit', function() {
|
|
assert.deepEqual(['A', 'B', 'C'], order);
|
|
});
|
|
|