chat-server/node_modules/one-time/test.js

46 lines
1.0 KiB
JavaScript
Raw Normal View History

2019-04-10 13:07:31 +10:00
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');
});
});