40 lines
834 B
JavaScript
40 lines
834 B
JavaScript
|
'use strict';
|
||
|
|
||
|
const common = require('../common');
|
||
|
const assert = require('assert');
|
||
|
|
||
|
const NOT_A_NUMBER = NaN;
|
||
|
|
||
|
function timerNotCanceled() {
|
||
|
assert.fail('Timer should be canceled');
|
||
|
}
|
||
|
|
||
|
process.on(
|
||
|
'warning',
|
||
|
common.mustCall((warning) => {
|
||
|
if (warning.name === 'DeprecationWarning') return;
|
||
|
|
||
|
const lines = warning.message.split('\n');
|
||
|
|
||
|
assert.strictEqual(warning.name, 'TimeoutNaNWarning');
|
||
|
assert.strictEqual(lines[0], `${NOT_A_NUMBER} is not a number.`);
|
||
|
assert.strictEqual(lines.length, 2);
|
||
|
}, 1)
|
||
|
);
|
||
|
|
||
|
{
|
||
|
const timeout = setTimeout(timerNotCanceled, NOT_A_NUMBER);
|
||
|
clearTimeout(timeout);
|
||
|
}
|
||
|
|
||
|
{
|
||
|
const interval = setInterval(timerNotCanceled, NOT_A_NUMBER);
|
||
|
clearInterval(interval);
|
||
|
}
|
||
|
|
||
|
{
|
||
|
const timeout = setTimeout(timerNotCanceled, NOT_A_NUMBER);
|
||
|
timeout.refresh();
|
||
|
clearTimeout(timeout);
|
||
|
}
|