summaryrefslogtreecommitdiff
path: root/tests/specs/run/finalization_registry
diff options
context:
space:
mode:
authorhaturau <135221985+haturatu@users.noreply.github.com>2024-11-20 01:20:47 +0900
committerGitHub <noreply@github.com>2024-11-20 01:20:47 +0900
commit85719a67e59c7aa45bead26e4942d7df8b1b42d4 (patch)
treeface0aecaac53e93ce2f23b53c48859bcf1a36ec /tests/specs/run/finalization_registry
parent67697bc2e4a62a9670699fd18ad0dd8efc5bd955 (diff)
parent186b52731c6bb326c4d32905c5e732d082e83465 (diff)
Merge branch 'denoland:main' into main
Diffstat (limited to 'tests/specs/run/finalization_registry')
-rw-r--r--tests/specs/run/finalization_registry/__test__.jsonc4
-rw-r--r--tests/specs/run/finalization_registry/finalization_registry.js20
-rw-r--r--tests/specs/run/finalization_registry/finalization_registry.js.out1
3 files changed, 25 insertions, 0 deletions
diff --git a/tests/specs/run/finalization_registry/__test__.jsonc b/tests/specs/run/finalization_registry/__test__.jsonc
new file mode 100644
index 000000000..f7526506c
--- /dev/null
+++ b/tests/specs/run/finalization_registry/__test__.jsonc
@@ -0,0 +1,4 @@
+{
+ "args": "run --quiet --v8-flags=--expose-gc finalization_registry.js",
+ "output": "finalization_registry.js.out"
+}
diff --git a/tests/specs/run/finalization_registry/finalization_registry.js b/tests/specs/run/finalization_registry/finalization_registry.js
new file mode 100644
index 000000000..ee9dc384f
--- /dev/null
+++ b/tests/specs/run/finalization_registry/finalization_registry.js
@@ -0,0 +1,20 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+"use strict";
+
+function assertEquals(a, b) {
+ if (a === b) return;
+ throw a + " does not equal " + b;
+}
+
+const registry = new FinalizationRegistry((value) => {
+ assertEquals(value, "called!");
+ Deno[Deno.internal].core.print("FinalizationRegistry called!\n");
+});
+
+(function () {
+ let x = {};
+ registry.register(x, "called!");
+ x = null;
+})();
+
+gc();
diff --git a/tests/specs/run/finalization_registry/finalization_registry.js.out b/tests/specs/run/finalization_registry/finalization_registry.js.out
new file mode 100644
index 000000000..fee61413a
--- /dev/null
+++ b/tests/specs/run/finalization_registry/finalization_registry.js.out
@@ -0,0 +1 @@
+FinalizationRegistry called!