diff options
Diffstat (limited to 'cli/tests')
-rw-r--r-- | cli/tests/finalization_registry.js | 20 | ||||
-rw-r--r-- | cli/tests/finalization_registry.js.out | 1 | ||||
-rw-r--r-- | cli/tests/integration/run_tests.rs | 6 |
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", |