aboutsummaryrefslogtreecommitdiff
path: root/test/js/web/timers/setInterval.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/js/web/timers/setInterval.test.js')
-rw-r--r--test/js/web/timers/setInterval.test.js61
1 files changed, 61 insertions, 0 deletions
diff --git a/test/js/web/timers/setInterval.test.js b/test/js/web/timers/setInterval.test.js
new file mode 100644
index 000000000..7b03afba5
--- /dev/null
+++ b/test/js/web/timers/setInterval.test.js
@@ -0,0 +1,61 @@
+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(
+ (...args) => {
+ counter++;
+ if (counter === 10) {
+ resolve(counter);
+ clearInterval(id);
+ }
+ try {
+ expect(args).toStrictEqual(["foo"]);
+ } catch (err) {
+ reject(err);
+ clearInterval(id);
+ }
+ },
+ 1,
+ "foo",
+ );
+ });
+
+ 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);
+});
+
+it("async setInterval", async () => {
+ var remaining = 5;
+ await new Promise((resolve, reject) => {
+ queueMicrotask(() => {
+ var id = setInterval(async () => {
+ await 1;
+ remaining--;
+ if (remaining === 0) {
+ clearInterval(id);
+ resolve();
+ }
+ }, 1);
+ });
+ });
+});
low=1'>fix tmp dir in fetch.tests.js (#2270)Gravatar Ciro Spaciari 1-1/+2 2023-03-02Remake typings for FFI dlopen/linkSymbols + introduce Pointer type (#2227)Gravatar u9g 4-28/+222 2023-03-02put AbortSignal in WebCore namespace (#2267)Gravatar Ciro Spaciari 9-69/+70 2023-03-02only free sink after promises solves (#2268)Gravatar Ciro Spaciari 2-10/+10 2023-03-02Fix `Bun.sleepSync` to actually use milliseconds (#2242)Gravatar Justin Whear 3-5/+57 2023-03-01fix(bindings): mark `JSCInitialize` (#2265)Gravatar Derrick Farris 1-0/+1 2023-03-01Add page descriptions (#2260)Gravatar Colin McDonnell 1-46/+132 2023-03-01fix bun server segfault with abortsignal (#2261)Gravatar Ciro Spaciari 3-133/+79 2023-03-01fix(node:http): match Node `http.request()` GET/HEAD w/ body (#2262)Gravatar Derrick Farris 2-2/+31 2023-03-01Add a test for https request in node:httpGravatar Jarred Sumner 2-17/+28 2023-03-01fix(node:http/https): fix passing `URL` objs to `http.request`(#2253) (#2258)Gravatar Derrick Farris 2-43/+63 2023-03-01Revert "Update clap (#2238)"Gravatar Jarred Sumner 16-290/+1840 2023-03-01Revert "Add `-D`, `--dev` flags for bun install (#2240)"Gravatar Jarred Sumner 1-9/+9 2023-03-01Use GitHub action ID instead of SHA for test workflowGravatar Ashcon Partovi 1-1/+1 2023-03-01avoids segfault after aborted onReject in Bun.serve streams (#2256)Gravatar Ciro Spaciari 1-7/+8 2023-03-01Run tests in CI for bun-linux-aarch64Gravatar Ashcon Partovi 2-1/+30 2023-03-01Revert spawnSync changeGravatar Jarred Sumner 1-1/+2 2023-03-01Update bindings.zigGravatar Jarred Sumner 1-1/+3 2023-03-01fix deinit behavior when connection is aborted using ResponseStream and abort...Gravatar Ciro Spaciari 3-34/+174 2023-03-01fix Bun.file.arrayBuffer() segmentation fault on empty file #2248 (#2249)Gravatar Ciro Spaciari 3-7/+23 2023-03-01Fix async in sqliteGravatar Colin McDonnell 1-2/+2 2023-02-28Forces a specific libdir for c-ares (#2241)Gravatar Justin Whear 1-1/+5 2023-02-28Make Bun.gc(true) more aggressiveGravatar Jarred Sumner 1-0/+3 2023-02-28Expose JSC::Options via `BUN_JSC_` prefixGravatar Jarred Sumner 6-8/+47 2023-02-28fixupGravatar Jarred Sumner 1-1/+1 2023-02-28Fix typecheckGravatar Colin McDonnell 2-1/+4 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