summaryrefslogtreecommitdiff
path: root/cli/tests/integration/node_unit_tests.rs
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2023-05-24 15:40:41 +0200
committerGitHub <noreply@github.com>2023-05-24 15:40:41 +0200
commit0bb5bbc7a0ff7565a4c7fa4ebc8c69e02f76e6b5 (patch)
treea5ab85f34d7984428288cb8d221cf09851d333bd /cli/tests/integration/node_unit_tests.rs
parent787e1f0f92e81f025ec0dfdce2acff15900267fc (diff)
fix(node): fire 'unhandledrejection' event when using node: or npm: imports (#19235)
This commit fixes emitting "unhandledrejection" event when there are "node:" or "npm:" imports. Before this commit the Node "unhandledRejection" event was emitted using a regular listener for Web "unhandledrejection" event. This listener was installed before any user listener had a chance to be installed which effectively prevent emitting "unhandledrejection" events to user code. Closes https://github.com/denoland/deno/issues/16928
Diffstat (limited to 'cli/tests/integration/node_unit_tests.rs')
-rw-r--r--cli/tests/integration/node_unit_tests.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/cli/tests/integration/node_unit_tests.rs b/cli/tests/integration/node_unit_tests.rs
index 2cde51552..7c524eb8b 100644
--- a/cli/tests/integration/node_unit_tests.rs
+++ b/cli/tests/integration/node_unit_tests.rs
@@ -5,6 +5,7 @@ use std::process::Stdio;
use std::time::Duration;
use std::time::Instant;
use test_util as util;
+use util::env_vars_for_npm_tests;
util::unit_test_factory!(
node_unit_test,
@@ -157,3 +158,20 @@ fn node_unit_test(test: String) {
assert!(status.success());
}
+
+// Regression test for https://github.com/denoland/deno/issues/16928
+itest!(unhandled_rejection_web {
+ args: "run -A node/unhandled_rejection_web.ts",
+ output: "node/unhandled_rejection_web.ts.out",
+ envs: env_vars_for_npm_tests(),
+ http_server: true,
+});
+
+// Ensure that Web `onunhandledrejection` is fired before
+// Node's `process.on('unhandledRejection')`.
+itest!(unhandled_rejection_web_process {
+ args: "run -A node/unhandled_rejection_web_process.ts",
+ output: "node/unhandled_rejection_web_process.ts.out",
+ envs: env_vars_for_npm_tests(),
+ http_server: true,
+});