You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					73 lines
				
				1.4 KiB
			
		
		
			
		
	
	
					73 lines
				
				1.4 KiB
			| 
								 
											2 years ago
										 
									 | 
							
								# 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.
							 |