diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2023-01-10 19:15:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-10 19:15:10 +0100 |
commit | 14ada3dce2ede9cffacfe829cca04f4ef262f91b (patch) | |
tree | ff2892510e619f49e6ec94acb904e5f8c7d7cda4 /test_napi/cleanup_hook_test.js | |
parent | 71ea4ef2746d7d75623a821d4832d3531a8e1654 (diff) |
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.
Diffstat (limited to 'test_napi/cleanup_hook_test.js')
-rw-r--r-- | test_napi/cleanup_hook_test.js | 33 |
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)"); + }); +} |