%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
const t = require('tap') const makeShim = (mocks) => t.mock('../../../lib/utils/log-shim.js', mocks) const loggers = [ 'notice', 'error', 'warn', 'info', 'verbose', 'http', 'silly', 'pause', 'resume', ] t.test('has properties', (t) => { const shim = makeShim() t.match(shim, { level: String, levels: {}, gauge: {}, stream: {}, heading: undefined, enableColor: Function, disableColor: Function, enableUnicode: Function, disableUnicode: Function, enableProgress: Function, disableProgress: Function, ...loggers.reduce((acc, l) => { acc[l] = Function return acc }, {}), }) t.match(Object.keys(shim).sort(), [ 'level', 'heading', 'levels', 'gauge', 'stream', 'tracker', 'useColor', 'enableColor', 'disableColor', 'enableUnicode', 'disableUnicode', 'enableProgress', 'disableProgress', 'progressEnabled', 'clearProgress', 'showProgress', 'newItem', 'newGroup', ...loggers, ].sort()) t.end() }) t.test('works with npmlog/proclog proxy', t => { const procLog = { silly: () => 'SILLY' } const npmlog = { level: 'woo', enableColor: () => true } const shim = makeShim({ npmlog, 'proc-log': procLog }) t.equal(shim.level, 'woo', 'can get a property') npmlog.level = 'hey' t.strictSame( [shim.level, npmlog.level], ['hey', 'hey'], 'can get a property after update on npmlog' ) shim.level = 'test' t.strictSame( [shim.level, npmlog.level], ['test', 'test'], 'can get a property after update on shim' ) t.ok(shim.enableColor(), 'can call method on shim to call npmlog') t.equal(shim.silly(), 'SILLY', 'can call method on proclog') t.notOk(shim.LEVELS, 'only includes levels from npmlog') t.throws(() => shim.gauge = 100, 'cant set getters properies') t.end() }) t.test('works with npmlog/proclog proxy', t => { const shim = makeShim() loggers.forEach((k) => { t.doesNotThrow(() => shim[k]('test')) }) t.end() })