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

Until now, the docs stated that `process.noDeprecation` could be set at runtime, but before any modules were loaded. That was not true, because `lib/internal/util.js` was loaded during the process startup process, so setting the flag at runtime was pointless. Minimal test case: process.noDeprecation = true; process.EventEmitter; This patch moves checking `process.noDeprecation` to the place where it was actually used. PR-URL: https://github.com/nodejs/node/pull/6683 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
34 lines
1.1 KiB
JavaScript
34 lines
1.1 KiB
JavaScript
'use strict';
|
|
// Flags: --expose_internals --no-warnings
|
|
|
|
// The --no-warnings flag only supresses writing the warning to stderr, not the
|
|
// emission of the corresponding event. This test file can be run without it.
|
|
|
|
process.noDeprecation = true;
|
|
|
|
const common = require('../common');
|
|
const assert = require('assert');
|
|
|
|
function listener() {
|
|
common.fail('received unexpected warning');
|
|
}
|
|
|
|
process.addListener('warning', listener);
|
|
|
|
const internalUtil = require('internal/util');
|
|
internalUtil.printDeprecationMessage('Something is deprecated.');
|
|
|
|
// The warning would be emitted in the next tick, so continue after that.
|
|
process.nextTick(common.mustCall(() => {
|
|
// Check that deprecations can be re-enabled.
|
|
process.noDeprecation = false;
|
|
process.removeListener('warning', listener);
|
|
|
|
process.addListener('warning', common.mustCall((warning) => {
|
|
assert.strictEqual(warning.name, 'DeprecationWarning');
|
|
assert.strictEqual(warning.message, 'Something else is deprecated.');
|
|
}));
|
|
|
|
internalUtil.printDeprecationMessage('Something else is deprecated.');
|
|
}));
|