123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- describe('one-time', function () {
- 'use strict';
- var assume = require('assume')
- , one = require('./');
- it('is exported as a function', function () {
- assume(one).is.a('function');
- });
- it('only calls the supplied function once', function (next) {
- next = one(next);
- next();
- next();
- next();
- next();
- });
- it('returns the same value as the called function every single time', function () {
- var foo = one(function () {
- return 'bar';
- });
- assume(foo()).equals('bar');
- assume(foo()).equals('bar');
- assume(foo()).equals('bar');
- assume(foo()).equals('bar');
- assume(foo()).equals('bar');
- assume(foo()).equals('bar');
- assume(foo()).equals('bar');
- assume(foo()).equals('bar');
- assume(foo()).equals('bar');
- assume(foo()).equals('bar');
- assume(foo()).equals('bar');
- });
- it('the returned function uses the same displayName as the given fn', function () {
- var foo = one(function banana() {
- return 'bar';
- });
- assume(foo.displayName).equals('banana');
- });
- });
|