summaryrefslogtreecommitdiff
path: root/test_napi/cleanup_hook_test.js
diff options
context:
space:
mode:
Diffstat (limited to 'test_napi/cleanup_hook_test.js')
-rw-r--r--test_napi/cleanup_hook_test.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/test_napi/cleanup_hook_test.js b/test_napi/cleanup_hook_test.js
new file mode 100644
index 000000000..30ceae470
--- /dev/null
+++ b/test_napi/cleanup_hook_test.js
@@ -0,0 +1,33 @@
+// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
+
+import { assertEquals, loadTestLibrary } from "./common.js";
+
+const properties = loadTestLibrary();
+
+if (import.meta.main) {
+ properties.installCleanupHook();
+ console.log("installed cleanup hook");
+} else {
+ Deno.test("napi cleanup hook", async () => {
+ const { stdout, stderr, code } = await new Deno.Command(Deno.execPath(), {
+ args: [
+ "run",
+ "--allow-read",
+ "--allow-run",
+ "--allow-ffi",
+ "--unstable",
+ import.meta.url,
+ ],
+ }).output();
+
+ assertEquals(code, 0);
+ assertEquals(new TextDecoder().decode(stderr), "");
+
+ const stdoutText = new TextDecoder().decode(stdout);
+ const stdoutLines = stdoutText.split("\n");
+ assertEquals(stdoutLines.length, 4);
+ assertEquals(stdoutLines[0], "installed cleanup hook");
+ assertEquals(stdoutLines[1], "cleanup(18)");
+ assertEquals(stdoutLines[2], "cleanup(42)");
+ });
+}