144 lines
4.5 KiB
Plaintext
144 lines
4.5 KiB
Plaintext
'use strict'
|
|
|
|
const { test } = require('node:test')
|
|
const { createWarning } = require('..')
|
|
const { spyWarning } = require('..')
|
|
|
|
test('Spy ProcessWarning - unlimited: false', t => {
|
|
const warning = createWarning({
|
|
name: 'Warning',
|
|
code: 'WRN',
|
|
message: 'Hello %s'
|
|
})
|
|
const spyData = spyWarning(warning)
|
|
|
|
t.assert.strictEqual(warning.emitted, false)
|
|
t.assert.deepStrictEqual(spyData.calls, [])
|
|
t.assert.strictEqual(spyData.callCount(), 0)
|
|
|
|
warning('World')
|
|
t.assert.strictEqual(warning.emitted, true)
|
|
t.assert.deepStrictEqual(spyData.calls[0].arguments, ['World'])
|
|
t.assert.strictEqual(spyData.calls[0].result, true)
|
|
t.assert.strictEqual(spyData.callCount(), 1)
|
|
|
|
warning('World')
|
|
t.assert.strictEqual(warning.emitted, true)
|
|
t.assert.deepStrictEqual(spyData.calls[0].arguments, ['World'])
|
|
t.assert.strictEqual(spyData.calls[0].result, true)
|
|
t.assert.deepStrictEqual(spyData.calls[1].arguments, ['World'])
|
|
t.assert.strictEqual(spyData.calls[1].result, false)
|
|
t.assert.strictEqual(spyData.callCount(), 2)
|
|
|
|
spyData.reset()
|
|
t.assert.strictEqual(warning.emitted, false)
|
|
t.assert.deepStrictEqual(spyData.calls, [])
|
|
t.assert.strictEqual(spyData.callCount(), 0)
|
|
|
|
warning('World')
|
|
t.assert.strictEqual(warning.emitted, true)
|
|
t.assert.deepStrictEqual(spyData.calls[0].arguments, ['World'])
|
|
t.assert.strictEqual(spyData.calls[0].result, true)
|
|
t.assert.strictEqual(spyData.callCount(), 1)
|
|
|
|
spyData.restore()
|
|
t.assert.strictEqual(warning.emitted, false)
|
|
t.assert.deepStrictEqual(spyData.calls, [])
|
|
t.assert.strictEqual(spyData.callCount(), 0)
|
|
|
|
warning('World')
|
|
t.assert.strictEqual(warning.emitted, true)
|
|
t.assert.deepStrictEqual(spyData.calls, [])
|
|
t.assert.strictEqual(spyData.callCount(), 0)
|
|
})
|
|
|
|
test('Spy ProcessWarning - unlimited: true', t => {
|
|
const warning = createWarning({
|
|
name: 'Warning',
|
|
code: 'WRN',
|
|
message: 'Hello %s',
|
|
unlimited: true
|
|
})
|
|
const spyData = spyWarning(warning)
|
|
|
|
t.assert.strictEqual(warning.emitted, false)
|
|
t.assert.deepStrictEqual(spyData.calls, [])
|
|
t.assert.strictEqual(spyData.callCount(), 0)
|
|
|
|
warning('World')
|
|
t.assert.strictEqual(warning.emitted, true)
|
|
t.assert.deepStrictEqual(spyData.calls[0].arguments, ['World'])
|
|
t.assert.strictEqual(spyData.calls[0].result, true)
|
|
t.assert.strictEqual(spyData.callCount(), 1)
|
|
|
|
warning('World')
|
|
t.assert.strictEqual(warning.emitted, true)
|
|
t.assert.deepStrictEqual(spyData.calls[0].arguments, ['World'])
|
|
t.assert.strictEqual(spyData.calls[0].result, true)
|
|
t.assert.deepStrictEqual(spyData.calls[1].arguments, ['World'])
|
|
t.assert.strictEqual(spyData.calls[1].result, true)
|
|
t.assert.strictEqual(spyData.callCount(), 2)
|
|
|
|
spyData.reset()
|
|
t.assert.strictEqual(warning.emitted, false)
|
|
t.assert.deepStrictEqual(spyData.calls, [])
|
|
t.assert.strictEqual(spyData.callCount(), 0)
|
|
|
|
warning('World')
|
|
t.assert.strictEqual(warning.emitted, true)
|
|
t.assert.deepStrictEqual(spyData.calls[0].arguments, ['World'])
|
|
t.assert.strictEqual(spyData.calls[0].result, true)
|
|
t.assert.strictEqual(spyData.callCount(), 1)
|
|
|
|
spyData.restore()
|
|
t.assert.strictEqual(warning.emitted, false)
|
|
t.assert.deepStrictEqual(spyData.calls, [])
|
|
t.assert.strictEqual(spyData.callCount(), 0)
|
|
|
|
warning('World')
|
|
t.assert.strictEqual(warning.emitted, true)
|
|
t.assert.deepStrictEqual(spyData.calls, [])
|
|
t.assert.strictEqual(spyData.callCount(), 0)
|
|
})
|
|
|
|
test('Spy ProcessWarning - calls[].arguments', t => {
|
|
const warning = createWarning({
|
|
name: 'Warning',
|
|
code: 'WRN',
|
|
message: 'Hello %s'
|
|
})
|
|
const spyData = spyWarning(warning)
|
|
|
|
warning(undefined)
|
|
t.assert.deepStrictEqual(spyData.calls[0].arguments, [])
|
|
spyData.reset()
|
|
|
|
warning()
|
|
t.assert.deepStrictEqual(spyData.calls[0].arguments, [])
|
|
spyData.reset()
|
|
|
|
warning('World')
|
|
t.assert.deepStrictEqual(spyData.calls[0].arguments, ['World'])
|
|
spyData.reset()
|
|
|
|
warning('World', 'Hello')
|
|
t.assert.deepStrictEqual(spyData.calls[0].arguments, ['World', 'Hello'])
|
|
spyData.reset()
|
|
|
|
warning(undefined, 'Hello')
|
|
t.assert.deepStrictEqual(spyData.calls[0].arguments, [undefined, 'Hello'])
|
|
spyData.reset()
|
|
|
|
warning('World', 'Hello', 'World')
|
|
t.assert.deepStrictEqual(spyData.calls[0].arguments, ['World', 'Hello', 'World'])
|
|
spyData.reset()
|
|
|
|
warning('World', undefined, 'World')
|
|
t.assert.deepStrictEqual(spyData.calls[0].arguments, ['World', undefined, 'World'])
|
|
spyData.reset()
|
|
|
|
warning(undefined, 'Hello', 'World')
|
|
t.assert.deepStrictEqual(spyData.calls[0].arguments, [undefined, 'Hello', 'World'])
|
|
spyData.reset()
|
|
})
|