keep-silent
Keep console silent.
The output console.log
may disturb normal testing log when you test some code which contains console output, keep-silent will help you to solve it.
Example usage:
const silent = const assert = { console console}
The silent function will capture console logs of it's callback, you can access caputred logs by param log
.
Synopsis
Promise<String>|String silent(callback, options)
Arguments
callback
The callback
can be a normal function or a generator function, you can return a Promise
when your callback is async. Callback contains one parameter log
, which has methods (see next section) for processing logs.
For async useage, we suggest use generator in slient callback just like co does:
options
errorOutput
: print output when error occurs (default: true)
Return
If callback is sync, the return value will be full captured logs String
. If callback is async (return Promise or Generator function), the return value will be a Promise with full captured logs String
.
The captured logs will NOT lose even if you have called log.clear()
or log.flush()
.
log
Parameter The methods and props of callback parameter log
:
log.clear()
Clear captured logs, the log.value will be a empty String
.
log.contains(part[, strip])
part
, the part of log to checkstrip
, strip cli ansi color chars (default: false)
Whether logs contain specified string, the part can be a String
or RegExp
object.
log.flush()
Clear captured logs and return it, the log.value will be a empty String
.
log.value
Current captured logs.
Example
Keep some function slient:
const silent = // keep silent (sync case)let captured = // keep silent (promise) // keep silent (generator)
Capture logs for unit test (with mocha):
const assert = const silent = { console} { return { }} { console}