Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fake timers with a delay of NaN never get run #5960

Closed
corhere opened this issue Apr 10, 2018 · 4 comments
Closed

Fake timers with a delay of NaN never get run #5960

corhere opened this issue Apr 10, 2018 · 4 comments

Comments

@corhere
Copy link

corhere commented Apr 10, 2018

Do you want to request a feature or report a bug?
Bug

What is the current behavior?
Timers with a timeout of NaN can never get run when fake timers are in use.

If the current behavior is a bug, please provide the steps to reproduce and
either a repl.it demo through https://repl.it/languages/jest or a minimal
repository on GitHub that we can yarn install and yarn test.

https://repl.it/repls/MedicalSolidLines

jest.useFakeTimers();

it('works with fake timers', (done) => {
  setTimeout(done, NaN);
  jest.runAllTimers();
});

it('works with real timers', (done) => {
  jest.useRealTimers();
  setTimeout(done, NaN);
});

What is the expected behavior?
setTimeout(callback, NaN) is treated the same as setTimeout(callback, 0) when fake timers are in use. This matches the behavior specified by the HTML Living Standard.
https://html.spec.whatwg.org/multipage/webappapis.html#windoworworkerglobalscope-mixin:dom-settimeout
https://heycam.github.io/webidl/#abstract-opdef-converttoint

@SimenB
Copy link
Member

SimenB commented Apr 11, 2018

cpojer pushed a commit that referenced this issue Apr 12, 2018
* add handling for NaN as timer delay

* use Number.isNaN for isNaN checking

* handle Infinity values in timers delays correctly

* Fix handling of NaN/Infinity in mock timer delay

* use more universal delay validation
@keithkml
Copy link

Shouldn't this issue be closed if #5966 was merged?

@SimenB
Copy link
Member

SimenB commented Apr 28, 2018

Indeed!

@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Please note this issue tracker is not a help forum. We recommend using StackOverflow or our discord channel for questions.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 12, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants