mirror of
https://github.com/musix-org/musix-oss
synced 2024-12-23 16:13:18 +00:00
73 lines
1.4 KiB
Markdown
73 lines
1.4 KiB
Markdown
|
# stubs
|
||
|
|
||
|
> It's a simple stubber.
|
||
|
|
||
|
## About
|
||
|
|
||
|
For when you don't want to write the same thing over and over to cache a method and call an override, then revert it, and blah blah.
|
||
|
|
||
|
|
||
|
## Use
|
||
|
```sh
|
||
|
$ npm install --save-dev stubs
|
||
|
```
|
||
|
```js
|
||
|
var mylib = require('./lib/index.js')
|
||
|
var stubs = require('stubs')
|
||
|
|
||
|
// make it a noop
|
||
|
stubs(mylib, 'create')
|
||
|
|
||
|
// stub it out
|
||
|
stubs(mylib, 'create', function() {
|
||
|
// calls this instead
|
||
|
})
|
||
|
|
||
|
// stub it out, but call the original first
|
||
|
stubs(mylib, 'create', { callthrough: true }, function() {
|
||
|
// call original method, then call this
|
||
|
})
|
||
|
|
||
|
// use the stub for a while, then revert
|
||
|
stubs(mylib, 'create', { calls: 3 }, function() {
|
||
|
// call this 3 times, then use the original method
|
||
|
})
|
||
|
```
|
||
|
|
||
|
|
||
|
## API
|
||
|
|
||
|
### stubs(object, method[[, opts], stub])
|
||
|
|
||
|
#### object
|
||
|
- Type: Object
|
||
|
|
||
|
#### method
|
||
|
- Type: String
|
||
|
|
||
|
Name of the method to stub.
|
||
|
|
||
|
#### opts
|
||
|
- (optional)
|
||
|
- Type: Object
|
||
|
|
||
|
##### opts.callthrough
|
||
|
- (optional)
|
||
|
- Type: Boolean
|
||
|
- Default: `false`
|
||
|
|
||
|
Call the original method as well as the stub (if a stub is provided).
|
||
|
|
||
|
##### opts.calls
|
||
|
- (optional)
|
||
|
- Type: Number
|
||
|
- Default: `0` (never revert)
|
||
|
|
||
|
Number of calls to allow the stub to receive until reverting to the original.
|
||
|
|
||
|
#### stub
|
||
|
- (optional)
|
||
|
- Type: Function
|
||
|
- Default: `function() {}`
|
||
|
|
||
|
This method is called in place of the original method. If `opts.callthrough` is `true`, this method is called *after* the original method is called as well.
|