From 3b4900193ba4a6ee40b3d5935650b5f68baf0729 Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Sat, 1 Oct 2022 16:02:29 -0700 Subject: Fix `setTimeout(0)`, improve test coverage slightly, reduce memory usage of timers --- test/bun.js/setTimeout.test.js | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'test/bun.js/setTimeout.test.js') diff --git a/test/bun.js/setTimeout.test.js b/test/bun.js/setTimeout.test.js index 79039a568..a899867df 100644 --- a/test/bun.js/setTimeout.test.js +++ b/test/bun.js/setTimeout.test.js @@ -41,3 +41,43 @@ it("clearTimeout", async () => { }); expect(called).toBe(false); }); + +it("setTimeout(() => {}, 0)", async () => { + var called = false; + setTimeout(() => { + called = true; + }, 0); + await new Promise((resolve, reject) => { + setTimeout(() => { + resolve(); + }, 10); + }); + expect(called).toBe(true); + var ranFirst = -1; + setTimeout(() => { + if (ranFirst === -1) ranFirst = 1; + }, 1); + setTimeout(() => { + if (ranFirst === -1) ranFirst = 0; + }, 0); + + await new Promise((resolve, reject) => { + setTimeout(() => { + resolve(); + }, 10); + }); + expect(ranFirst).toBe(0); + + ranFirst = -1; + + const id = setTimeout(() => { + ranFirst = 0; + }, 0); + clearTimeout(id); + await new Promise((resolve, reject) => { + setTimeout(() => { + resolve(); + }, 10); + }); + expect(ranFirst).toBe(-1); +}); -- cgit v1.2.3 iro/fix-test-command Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/docs/api (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2023-02-28Fix incorrect Bun version in docs (#2236)Gravatar Derrick Farris 1-1/+1
2023-02-28just some comments fix (#2237)Gravatar Ciro Spaciari 1-4/+2
2023-02-28Add `-D`, `--dev` flags for bun install (#2240)Gravatar Justin Whear 1-9/+9
2023-02-28Document punningGravatar Colin McDonnell 1-1/+18