| Server IP : 82.208.35.60 / Your IP : 216.73.216.238 Web Server : Apache/2.4.55 (FreeBSD) OpenSSL/1.1.1q-freebsd PHP/7.3.31 System : FreeBSD server7.d2m.cz 12.4-RELEASE-p9 FreeBSD 12.4-RELEASE-p9 GENERIC amd64 User : studiokobylisy_cz ( 1008) PHP Version : 7.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/studiokobylisy_cz/www/wp-content/themes/studiokobylisy/node_modules/throttleit/ |
Upload File : |
var assert = require('assert');
var throttle = require('./');
describe('throttle', function(){
function counter() {
function count(){
count.invoked++;
}
count.invoked = 0;
return count;
}
it('should throttle a function', function(done){
var count = counter();
var wait = 100;
var total = 500;
var fn = throttle(count, wait);
var interval = setInterval(fn, 20);
setTimeout(function(){
clearInterval(interval);
assert(count.invoked === (total / wait));
done();
}, total + 5);
});
it('should call the function last time', function(done){
var count = counter();
var wait = 100;
var fn = throttle(count, wait);
fn();
fn();
assert(count.invoked === 1);
setTimeout(function(){
assert(count.invoked === 2);
done();
}, wait + 5);
});
it('should pass last context', function(done){
var wait = 100;
var ctx;
var fn = throttle(logctx, wait);
var foo = {};
var bar = {};
fn.call(foo);
fn.call(bar);
assert(ctx === foo);
setTimeout(function(){
assert(ctx === bar);
done();
}, wait + 5);
function logctx() {
ctx = this;
}
});
it('should pass last arguments', function(done){
var wait = 100;
var args;
var fn = throttle(logargs, wait);
fn.call(null, 1);
fn.call(null, 2);
assert(args && args[0] === 1);
setTimeout(function(){
assert(args && args[0] === 2);
done();
}, wait + 5);
function logargs() {
args = arguments;
}
});
});