diff options
author | 2022-03-01 00:47:31 -0800 | |
---|---|---|
committer | 2022-03-01 00:47:31 -0800 | |
commit | 114c0e8ed2a0eea835139ece3677efce09a8b702 (patch) | |
tree | bb1c4f6d3e3514585728b29ddf3d4d052e223b15 /integration/bunjs-only-snippets/setInterval.test.js | |
parent | 9ccb520e9e93cf85227eb37febec6acdf45bd9cf (diff) | |
download | bun-114c0e8ed2a0eea835139ece3677efce09a8b702.tar.gz bun-114c0e8ed2a0eea835139ece3677efce09a8b702.tar.zst bun-114c0e8ed2a0eea835139ece3677efce09a8b702.zip |
[bun.js] Implement `setTimeout`, `setInterval`, `clearTimeout`, `clearInterval`
Diffstat (limited to 'integration/bunjs-only-snippets/setInterval.test.js')
-rw-r--r-- | integration/bunjs-only-snippets/setInterval.test.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/integration/bunjs-only-snippets/setInterval.test.js b/integration/bunjs-only-snippets/setInterval.test.js new file mode 100644 index 000000000..f633998cd --- /dev/null +++ b/integration/bunjs-only-snippets/setInterval.test.js @@ -0,0 +1,35 @@ +import { it, expect } from "bun:test"; + +it("setInterval", async () => { + var counter = 0; + var start; + const result = await new Promise((resolve, reject) => { + start = performance.now(); + + var id = setInterval(() => { + counter++; + if (counter === 10) { + resolve(counter); + clearInterval(id); + } + }, 1); + }); + + expect(result).toBe(10); + expect(performance.now() - start >= 10).toBe(true); +}); + +it("clearInterval", async () => { + var called = false; + const id = setInterval(() => { + called = true; + expect(false).toBe(true); + }, 1); + clearInterval(id); + await new Promise((resolve, reject) => { + setInterval(() => { + resolve(); + }, 10); + }); + expect(called).toBe(false); +}); |