%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; const common = require('../common'); const { hijackStderr, restoreStderr } = require('../common/hijackstdio'); const assert = require('assert'); function test1() { // Output is skipped if the argument to the 'warning' event is // not an Error object. hijackStderr(common.mustNotCall('stderr.write must not be called')); process.emit('warning', 'test'); setImmediate(test2); } function test2() { // Output is skipped if it's a deprecation warning and // process.noDeprecation = true process.noDeprecation = true; process.emitWarning('test', 'DeprecationWarning'); process.noDeprecation = false; setImmediate(test3); } function test3() { restoreStderr(); // Type defaults to warning when the second argument is an object process.emitWarning('test', {}); process.once('warning', common.mustCall((warning) => { assert.strictEqual(warning.name, 'Warning'); })); setImmediate(test4); } function test4() { // process.emitWarning will throw when process.throwDeprecation is true // and type is `DeprecationWarning`. process.throwDeprecation = true; process.once('uncaughtException', (err) => { assert.match(err.toString(), /^DeprecationWarning: test$/); }); try { process.emitWarning('test', 'DeprecationWarning'); } catch { assert.fail('Unreachable'); } process.throwDeprecation = false; setImmediate(test5); } function test5() { // Setting toString to a non-function should not cause an error const err = new Error('test'); err.toString = 1; process.emitWarning(err); setImmediate(test6); } function test6() { process.emitWarning('test', { detail: 'foo' }); process.on('warning', (warning) => { assert.strictEqual(warning.detail, 'foo'); }); } test1();