Skip to content

Commit

Permalink
Test all warnings variants
Browse files Browse the repository at this point in the history
  • Loading branch information
ehmicky committed Apr 1, 2019
1 parent f697cbb commit 1effa04
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 4 deletions.
2 changes: 0 additions & 2 deletions src/error/message.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,7 @@ const multipleResolves = function({
}) {
const rejectedStr = REJECTED_NAME[rejected]
const nextRejectedStr = REJECTED_NAME[nextRejected]
// istanbul ignore next
const again = rejected === nextRejected ? ' again' : ''
// istanbul ignore next
const state = again ? rejectedStr : 'resolved/rejected'

return `a promise was ${state} multiple times:
Expand Down
19 changes: 17 additions & 2 deletions test/helpers/emit/warning.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,27 @@ const { promisify } = require('util')
const pSetImmediate = promisify(setImmediate)

// Emit a `warning` event
const warning = async function() {
emitWarning('message', { type: 'WarningType', code: '500', detail: 'Detail' })
const warning = async function({ all = false } = {}) {
const props = all ? WARNING_PROPS : [WARNING_PROPS[0]]
props.forEach(createWarning)

await pSetImmediate()
}

const createWarning = function({ code, detail }, index) {
// Ensure events are not skipped because they look like repeated events.
const type = index === 0 ? 'WarningType' : `WarningType${index}`

emitWarning('message', { type, code, detail })
}

const WARNING_PROPS = [
{ code: '500', detail: 'Detail' },
{ code: '500' },
{ detail: 'Detail' },
{},
]

module.exports = {
warning,
}
24 changes: 24 additions & 0 deletions test/snapshots/log.js.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,4 +111,28 @@ Generated by [AVA](https://ava.li).
`Warning: WarningType: message␊
[500] Detail`,
'warn',
`‼ warning (WarningType1) message␊
[500] ␊
at STACK TRACE`,
`Warning: WarningType1: message␊
[500] ␊
at STACK TRACE`,
`Warning: WarningType1: message␊
[500] `,
'warn',
`‼ warning (WarningType2) message␊
Detail␊
at STACK TRACE`,
`Warning: WarningType2: message␊
Detail␊
at STACK TRACE`,
`Warning: WarningType2: message␊
Detail`,
'warn',
`‼ warning (WarningType3) message␊
at STACK TRACE`,
`Warning: WarningType3: message␊
at STACK TRACE`,
'Warning: WarningType3: message',
'warn',
]
Binary file modified test/snapshots/log.js.snap
Binary file not shown.

0 comments on commit 1effa04

Please sign in to comment.