stdout-monkey
v1.1.0
Published
who said bananas? was it you?
Downloads
8
Readme
stdout-monkey
Monkeypatch for stdout with knobs. For testing purposes, or other things.
install
npm install stdout-monkey
example
var stdout = require('stdout-monkey');
var monkey = stdout(function(str, enc, cb){
this.log('I want more bananas!');
})
console.log('Hey, stop it!');
// -> I want more bananas!
why
You don't want to spam stdout
for testing. You want to batch
data or you want to transform data before it reaches stdout
.
api
Below when I write stdout
I really want to write process.stdout.write
.
var monkey = require('stdout-monkey')([callback])
Calling the module with a function returns a monkeypatched stdout
disabled by default. Instead the arguments are passed to the given callback
.
Note: that is not really accurate since the object
is not a writable
stream.
monkey.patch([callback])
Default method returned from the module. Patch stdout
and disable it. Use the given callback instead.
Returns the monkey
instance.
monkey.restore([data], [enc], [cb])
Restore stdout
. Optionaly write something.
monkey.listen([callback])
Patch stdout
but only to include the callback
. stdout
will work as normal, you can spy but not modify what is written.
monkey.write(data, [enc], [cb])
Use the original process.stdout.write
even if it was patched.
monkey.log([arguments])
Use console.log
even if stdout
was patched.
All above methods are chainable.
properties
The monkey
has a state
property indicating if process.stdout.write
was patched
or if he used the restore
or listen
methods.
NOTE: the state
is not changed when calling the log
or write
methods.
test
npm test
inspirated and based on
todo
- [ ] make the
monkey
athrough
stream.