Fixing _.throttle() to only execute once if called once. #170 comments.

This commit is contained in:
Jeremy Ashkenas
2011-10-24 16:16:18 -04:00
parent e8ec62c894
commit 29f4478a86
2 changed files with 24 additions and 4 deletions

View File

@@ -118,6 +118,22 @@ $(document).ready(function() {
_.delay(function(){ ok(value == 7, "updated to latest value"); start(); }, 400);
});
asyncTest("functions: throttle once", 1, function() {
var counter = 0;
var incr = function(){ counter++; };
var throttledIncr = _.throttle(incr, 100);
throttledIncr();
_.delay(function(){ ok(counter == 1, "incr was called once"); start(); }, 220);
});
asyncTest("functions: throttle twice", 1, function() {
var counter = 0;
var incr = function(){ counter++; };
var throttledIncr = _.throttle(incr, 100);
throttledIncr(); throttledIncr();
_.delay(function(){ ok(counter == 2, "incr was called twice"); start(); }, 220);
});
asyncTest("functions: debounce", 1, function() {
var counter = 0;
var incr = function(){ counter++; };