12345678910111213141516171819202122232425262728293031323334 |
- 'use strict'
- const test = require('tap').test
- const build = require('..')
- test('emit should emit a given code unlimited times', t => {
- t.plan(50)
- const { create, emit, emitted } = build()
- let runs = 0
- const expectedRun = []
- const times = 10
- process.on('warning', onWarning)
- function onWarning (warning) {
- t.equal(warning.name, 'FastifyDeprecation')
- t.equal(warning.code, 'CODE')
- t.equal(warning.message, 'Hello world')
- t.ok(emitted.get('CODE'))
- t.equal(runs++, expectedRun.shift())
- }
- create('FastifyDeprecation', 'CODE', 'Hello world', { unlimited: true })
- for (let i = 0; i < times; i++) {
- expectedRun.push(i)
- emit('CODE')
- }
- setImmediate(() => {
- process.removeListener('warning', onWarning)
- t.end()
- })
- })
|