Spaces:
Sleeping
Sleeping
| ; | |
| var sort = require("./prototypes/array").sort; | |
| var slice = require("./prototypes/array").slice; | |
| /** | |
| * @private | |
| */ | |
| function comparator(a, b) { | |
| // uuid, won't ever be equal | |
| var aCall = a.getCall(0); | |
| var bCall = b.getCall(0); | |
| var aId = (aCall && aCall.callId) || -1; | |
| var bId = (bCall && bCall.callId) || -1; | |
| return aId < bId ? -1 : 1; | |
| } | |
| /** | |
| * A Sinon proxy object (fake, spy, stub) | |
| * | |
| * @typedef {object} SinonProxy | |
| * @property {Function} getCall - A method that can return the first call | |
| */ | |
| /** | |
| * Sorts an array of SinonProxy instances (fake, spy, stub) by their first call | |
| * | |
| * @param {SinonProxy[] | SinonProxy} spies | |
| * @returns {SinonProxy[]} | |
| */ | |
| function orderByFirstCall(spies) { | |
| return sort(slice(spies), comparator); | |
| } | |
| module.exports = orderByFirstCall; | |