UNPKG

nisemono

Version:

Pretty simple test double library

102 lines (80 loc) 3.79 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>fake-function.js - Documentation</title> <script src="scripts/prettify/prettify.js"></script> <script src="scripts/prettify/lang-css.js"></script> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/prettify.css"> <link type="text/css" rel="stylesheet" href="styles/jsdoc.css"> </head> <body> <input type="checkbox" id="nav-trigger" class="nav-trigger" /> <label for="nav-trigger" class="navicon-button x"> <div class="navicon"></div> </label> <label for="nav-trigger" class="overlay"></label> <nav> <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="Call.html">Call</a></li><li><a href="Expectation.html">Expectation</a><ul class='methods'><li data-type='method'><a href="Expectation.html#withArgs">withArgs</a></li><li data-type='method'><a href="Expectation.html#returns">returns</a></li><li data-type='method'><a href="Expectation.html#throws">throws</a></li><li data-type='method'><a href="Expectation.html#resolves">resolves</a></li><li data-type='method'><a href="Expectation.html#rejects">rejects</a></li><li data-type='method'><a href="Expectation.html#calls">calls</a></li></ul></li><li><a href="FakeFunction.html">FakeFunction</a><ul class='methods'><li data-type='method'><a href="FakeFunction.html#callArgFuncAt">callArgFuncAt</a></li></ul></li></ul><h3>Namespaces</h3><ul><li><a href="promise.html">promise</a><ul class='methods'><li data-type='method'><a href="promise.html#.constructor">constructor</a></li><li data-type='method'><a href="promise.html#.use">use</a></li><li data-type='method'><a href="promise.html#.restoreDefault">restoreDefault</a></li></ul></li></ul><h3>Global</h3><ul><li><a href="global.html#expects">expects</a></li><li><a href="global.html#func">func</a></li><li><a href="global.html#obj">obj</a></li></ul> </nav> <div id="main"> <h1 class="page-title">fake-function.js</h1> <section> <article> <pre class="prettyprint source linenums"><code>var Call = require('./call'); /** * @class fake function */ var FakeFunction = { invoke: function() { var args = Array.prototype.slice.call(arguments); var call = new Call({ args: args, calledAt: new Date() }); this.calls.push(call); this.isCalled = true; try { this.handler(call); } catch (e) { // continue regardless of error } var i, expectation; var l = this.expectations.length; for (i = 0; i &lt; l; i++) { expectation = this.expectations[i]; if (expectation.isMeet(args)) { return expectation.invoke(); } } return undefined; }, /** * Call the function in specified index of latest called arguments * @function * @instance * @param {number} index index of the function in arguments that will be called * @param {Object} thisArg the value of this provided for the call to function */ callArgFuncAt: function(index, thisArg) { var args = Array.prototype.slice.call(arguments, 1); var last = this.calls.length - 1; return this.calls[last].args[index].apply(thisArg, args); } }; module.exports = FakeFunction; </code></pre> </article> </section> </div> <br class="clear"> <footer> Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Sun Jan 29 2017 08:56:25 GMT+0900 (JST) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme. </footer> <script>prettyPrint();</script> <script src="scripts/linenumber.js"></script> </body> </html>