summaryrefslogtreecommitdiff
path: root/cli/tests
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests')
-rw-r--r--cli/tests/finalization_registry.js20
-rw-r--r--cli/tests/finalization_registry.js.out1
-rw-r--r--cli/tests/integration/run_tests.rs6
3 files changed, 27 insertions, 0 deletions
diff --git a/cli/tests/finalization_registry.js b/cli/tests/finalization_registry.js
new file mode 100644
index 000000000..f75979358
--- /dev/null
+++ b/cli/tests/finalization_registry.js
@@ -0,0 +1,20 @@
+// Copyright 2018-2021 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.core.print("FinalizationRegistry called!\n");
+});
+
+(function () {
+ let x = {};
+ registry.register(x, "called!");
+ x = null;
+})();
+
+gc();
diff --git a/cli/tests/finalization_registry.js.out b/cli/tests/finalization_registry.js.out
new file mode 100644
index 000000000..fee61413a
--- /dev/null
+++ b/cli/tests/finalization_registry.js.out
@@ -0,0 +1 @@
+FinalizationRegistry called!
diff --git a/cli/tests/integration/run_tests.rs b/cli/tests/integration/run_tests.rs
index 964d2dd7c..025ee07e1 100644
--- a/cli/tests/integration/run_tests.rs
+++ b/cli/tests/integration/run_tests.rs
@@ -660,6 +660,12 @@ itest!(heapstats {
output: "heapstats.js.out",
});
+itest!(finalization_registry {
+ args:
+ "run --quiet --unstable --v8-flags=--expose-gc finalization_registry.js",
+ output: "finalization_registry.js.out",
+});
+
itest!(https_import {
args: "run --quiet --reload --cert tls/RootCA.pem https_import.ts",
output: "https_import.ts.out",