'use strict'; // Flags: --no-warnings // The --no-warnings flag only suppresses writing the warning to stderr, not the // emission of the corresponding event. This test file can be run without it. const common = require('../common'); process.noDeprecation = true; const assert = require('assert'); function listener() { assert.fail('received unexpected warning'); } process.addListener('warning', listener); process.emitWarning('Something is deprecated.', 'DeprecationWarning'); // 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.'); })); process.emitWarning('Something else is deprecated.', 'DeprecationWarning'); }));