summaryrefslogtreecommitdiff
path: root/tests/node_compat/test/parallel/test-timers-interval-throw.js
diff options
context:
space:
mode:
Diffstat (limited to 'tests/node_compat/test/parallel/test-timers-interval-throw.js')
-rw-r--r--tests/node_compat/test/parallel/test-timers-interval-throw.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/node_compat/test/parallel/test-timers-interval-throw.js b/tests/node_compat/test/parallel/test-timers-interval-throw.js
new file mode 100644
index 000000000..d408fc866
--- /dev/null
+++ b/tests/node_compat/test/parallel/test-timers-interval-throw.js
@@ -0,0 +1,24 @@
+// deno-fmt-ignore-file
+// deno-lint-ignore-file
+
+// Copyright Joyent and Node contributors. All rights reserved. MIT license.
+// Taken from Node 18.12.1
+// This file is automatically generated by `tools/node_compat/setup.ts`. Do not modify this file manually.
+
+'use strict';
+
+const common = require('../common');
+const assert = require('assert');
+
+// To match browser behaviour, interval should continue
+// being rescheduled even if it throws.
+
+let count = 2;
+const interval = setInterval(() => { throw new Error('IntervalError'); }, 1);
+
+process.on('uncaughtException', common.mustCall((err) => {
+ assert.strictEqual(err.message, 'IntervalError');
+ if (--count === 0) {
+ clearInterval(interval);
+ }
+}, 2));