summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/cctest/test_environment.cc23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/cctest/test_environment.cc b/test/cctest/test_environment.cc
index cc9b8e4531..0db2963acc 100644
--- a/test/cctest/test_environment.cc
+++ b/test/cctest/test_environment.cc
@@ -185,3 +185,26 @@ static void at_exit_js(void* arg) {
assert(obj->IsObject());
called_at_exit_js = true;
}
+
+TEST_F(EnvironmentTest, SetImmediateCleanup) {
+ int called = 0;
+ int called_unref = 0;
+
+ {
+ const v8::HandleScope handle_scope(isolate_);
+ const Argv argv;
+ Env env {handle_scope, argv};
+
+ (*env)->SetImmediate([&](node::Environment* env_arg) {
+ EXPECT_EQ(env_arg, *env);
+ called++;
+ });
+ (*env)->SetUnrefImmediate([&](node::Environment* env_arg) {
+ EXPECT_EQ(env_arg, *env);
+ called_unref++;
+ });
+ }
+
+ EXPECT_EQ(called, 1);
+ EXPECT_EQ(called_unref, 0);
+}