Commit 947e747f authored by Paul Slaughter's avatar Paul Slaughter

Add JSDoc for overclock_timers

parent 48b2783d
/**
* This function replaces the existing `setTimeout` and `setInterval` with wrappers that
* discount the `ms` passed in by `boost`.
*
* For example, if a module has:
*
* ```
* setTimeout(cb, 100);
* ```
*
* But a test has:
*
* ```
* useOverclockTimers(25);
* ```
*
* Then the module's call to `setTimeout` effectively becomes:
*
* ```
* setTimeout(cb, 4);
* ```
*
* It's important to note that the timing for `setTimeout` and order of execution is non-deterministic
* and discounting the `ms` passed could make this very obvious and expose some underlying issues
* with flaky failures.
*
* WARNING: If flaky spec failures show up in a spec that is using this helper, please consider either:
*
* - Refactoring the production code so that it's reactive to state changes, not dependent on timers.
* - Removing the call to this helper from the spec.
*
* @param {Number} boost
*/
// eslint-disable-next-line import/prefer-default-export
export const useOverclockTimers = (boost = 50) => {
if (boost <= 0) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment