41 lines
741 B
JavaScript
41 lines
741 B
JavaScript
'use strict'
|
|
|
|
const { test } = require('node:test')
|
|
const { createWarning } = require('../')
|
|
const { withResolvers } = require('./promise')
|
|
|
|
test('a limited warning can be re-set', t => {
|
|
t.plan(4)
|
|
|
|
const { promise, resolve } = withResolvers()
|
|
let count = 0
|
|
process.on('warning', onWarning)
|
|
function onWarning () {
|
|
count++
|
|
}
|
|
|
|
const warn = createWarning({
|
|
name: 'TestDeprecation',
|
|
code: 'CODE',
|
|
message: 'Hello world'
|
|
})
|
|
|
|
warn()
|
|
t.assert.ok(warn.emitted)
|
|
|
|
warn()
|
|
t.assert.ok(warn.emitted)
|
|
|
|
warn.emitted = false
|
|
warn()
|
|
t.assert.ok(warn.emitted)
|
|
|
|
setImmediate(() => {
|
|
t.assert.deepStrictEqual(count, 2)
|
|
process.removeListener('warning', onWarning)
|
|
resolve()
|
|
})
|
|
|
|
return promise
|
|
})
|