c78fba4b13326be6a52c8a330c01f02896e372a9
All timeouts and intervals set during a tick were being scheduled to run at delay + end-of-tick, instead of delay + time-of-outer-timeout. Scheduled run-at times were shifted because currentTime was being incremented before executing scheduled functions. Additionally, the execute loop was iterating over a functions-to-run array, created from scheduledFunctions before starting. Any changes to scheduledFunctions were being ignored during the tick, and the next tick would ignore any functions which should have been executed in the past. The commit is a rewrite of DelayedFunctionScheduler, preserving the public interface. Execution of scheduled functions updates currentTime on each iteration, and each time takes the functions with the lowest runAtMillis from the schedule, if they aren't higher than endTime.
======= A JavaScript Testing Framework
Jasmine is a Behavior Driven Development testing framework for JavaScript. It does not rely on browsers, DOM, or any JavaScript framework. Thus it's suited for websites, Node.js projects, or anywhere that JavaScript can run.
Documentation & guides live here: http://pivotal.github.com/jasmine/
Contributing
Please read the contributors' guide
Support
- Search past discussions: http://groups.google.com/group/jasmine-js
- Send an email to the list: jasmine-js@googlegroups.com
- View the project backlog at Pivotal Tracker: http://www.pivotaltracker.com/projects/10606
- Follow us on Twitter: @JasmineBDD
Maintainers
- Davis W. Frank, Pivotal Labs
- Rajan Agaskar, Pivotal Labs
- Sheel Choksi, Pivotal Labs
Maintainers Emeritus
- Christian Williams, Square
Copyright (c) 2008-2013 Pivotal Labs. This software is licensed under the MIT License.
Description

