mirror of https://github.com/lukechilds/node.git
Browse Source
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>process-exit-stdio-flushing
3 changed files with 37 additions and 5 deletions
@ -0,0 +1,33 @@ |
|||||
|
'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.'); |
||||
|
})); |
Loading…
Reference in new issue