yui/yui3 — pull request #1801 by andrewnicols (2014-05-02 05:07:17+00:00)
Title: Y.throttle functions cannot be invoked within throttle-period of being created

When defining a new Y.throttle, the initial {{{late}}} value is set to Y.Lang.now().
As a result, if you create a new throttled function, and it is immediately invoked before that time period has elapsed, it is ignored entirely.

Correcting this reveals that the unit tests are aware of this and expect it, but it is not a documented behaviour or, in my opinion, a desirable one.

There's even a unit test which checks that this is the case.

The attached patch changes the initial time to 0, and corrects the unit tests so that if a call is made before the throttle time has expired, it is still called.