summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--js/timers.ts2
-rw-r--r--js/timers_test.ts15
2 files changed, 17 insertions, 0 deletions
diff --git a/js/timers.ts b/js/timers.ts
index d12205317..4b8596cb7 100644
--- a/js/timers.ts
+++ b/js/timers.ts
@@ -262,6 +262,7 @@ function clearTimer(id: number): void {
}
export function clearTimeout(id: number = 0): void {
+ checkBigInt(id);
if (id === 0) {
return;
}
@@ -269,6 +270,7 @@ export function clearTimeout(id: number = 0): void {
}
export function clearInterval(id: number = 0): void {
+ checkBigInt(id);
if (id === 0) {
return;
}
diff --git a/js/timers_test.ts b/js/timers_test.ts
index f4757bdb2..bc4fcffcf 100644
--- a/js/timers_test.ts
+++ b/js/timers_test.ts
@@ -259,6 +259,21 @@ test(function setTimeoutShouldThrowWithBigint(): void {
assertEquals(hasThrown, 2);
});
+test(function clearTimeoutShouldThrowWithBigint(): void {
+ let hasThrown = 0;
+ try {
+ clearTimeout((1n as unknown) as number);
+ hasThrown = 1;
+ } catch (err) {
+ if (err instanceof TypeError) {
+ hasThrown = 2;
+ } else {
+ hasThrown = 3;
+ }
+ }
+ assertEquals(hasThrown, 2);
+});
+
test(function testFunctionName(): void {
assertEquals(clearTimeout.name, "clearTimeout");
assertEquals(clearInterval.name, "clearInterval");