2
0
mirror of https://github.com/thumbsup/thumbsup synced 2024-11-11 07:10:26 +00:00
thumbsup/test/log.js

40 lines
1003 B
JavaScript

const debug = require('debug')
const util = require('util')
debug.recorded = []
// enable all logs while running the tests
debug.enable('thumbsup:*')
// don't format the logs to avoid any extra ANSI codes
debug.formatArgs = function (args) {
}
// capture the logs instead of displaying them
debug.log = function () {
const message = util.format.apply(null, arguments)
debug.recorded.push(`${this.namespace} ${message}`)
}
debug.reset = function () {
debug.recorded = []
}
debug.assertContains = function (expected) {
const matches = debug.recorded.filter(message => {
return message.includes(expected)
})
if (matches.length === 0) {
throw new Error(`Expected log to contain: ${expected}`)
}
}
debug.assertNotContains = function (expected) {
const matches = debug.recorded.filter(message => {
return message.includes(expected)
})
if (matches.length > 0) {
throw new Error(`Expected log not to contain: ${expected}, but contained at least: ${matches[0]}`)
}
}