This commit is contained in:
Oleg Mokhov
2015-06-20 12:26:08 +03:00
committed by mokhov
parent a716969f4e
commit f3546ef3a5
85 changed files with 16682 additions and 1 deletions

View File

@@ -0,0 +1,59 @@
modules.define('test', ['y-debounce'], function (provide, debounce) {
describe('debounce', function () {
it('should debounce given function', function (done) {
var counter = 0;
var incr = function () {
counter++;
};
var debouncedIncr = debounce(incr, 32);
debouncedIncr();
debouncedIncr();
setTimeout(debouncedIncr, 16);
setTimeout(function () {
counter.should.eq(1, 'incr was debounced');
done();
}, 96);
});
it('should call given function immediately if "immediate" param is true', function (done) {
var a;
var b;
var counter = 0;
var incr = function () {
return ++counter;
};
var debouncedIncr = debounce(incr, 64, true);
a = debouncedIncr();
b = debouncedIncr();
a.should.eq(1);
b.should.eq(1);
counter.should.eq(1, 'incr was called immediately');
setTimeout(debouncedIncr, 16);
setTimeout(debouncedIncr, 32);
setTimeout(debouncedIncr, 48);
setTimeout(function () {
counter.should.eq(1, 'incr was debounced');
done();
}, 128);
});
it('should work properly when debounced function called recursively', function (done) {
var counter = 0;
var debouncedIncr = debounce(function () {
counter++;
if (counter < 10) {
debouncedIncr();
}
}, 32, true);
debouncedIncr();
counter.should.eq(1, 'incr was called immediately');
setTimeout(function () {
counter.should.eq(1, 'incr was debounced');
done();
}, 96);
});
});
provide();
});