1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-26 17:19:06 -05:00
denoland-deno/test_napi/cleanup_hook_test.js
Bartek Iwańczuk 14ada3dce2
fix(napi): support for env cleanup hooks (#17324)
This commit adds support for "napi_add_env_cleanup_hook" and
"napi_remove_env_cleanup_hook" function for Node-API.
2023-01-10 19:15:10 +01:00

33 lines
981 B
JavaScript

// 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)");
});
}