summaryrefslogtreecommitdiff
path: root/test_napi/make_callback_test.js
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2023-05-24 15:41:43 +0200
committerGitHub <noreply@github.com>2023-05-24 15:41:43 +0200
commite56695daa89b7c53a88a691f35ee9a498caffbdf (patch)
tree4d02b4422e50ec0bc0ec5b733923f64206d4abba /test_napi/make_callback_test.js
parent0bb5bbc7a0ff7565a4c7fa4ebc8c69e02f76e6b5 (diff)
fix(napi): add napi_async_init and napi_async_destroy (#19234)
We don't have support for "AsyncContext" in "node:async_hooks" module, so these two APIs are just noops. Towards https://github.com/denoland/deno/issues/18610.
Diffstat (limited to 'test_napi/make_callback_test.js')
-rw-r--r--test_napi/make_callback_test.js53
1 files changed, 53 insertions, 0 deletions
diff --git a/test_napi/make_callback_test.js b/test_napi/make_callback_test.js
new file mode 100644
index 000000000..63ab18810
--- /dev/null
+++ b/test_napi/make_callback_test.js
@@ -0,0 +1,53 @@
+// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
+
+import { assertEquals, loadTestLibrary } from "./common.js";
+
+const mc = loadTestLibrary();
+
+Deno.test("napi makeCallback1", function () {
+ const resource = {};
+
+ let callCount = 0;
+ function cb() {
+ callCount++;
+ assertEquals(arguments.length, 0);
+ assertEquals(this, globalThis);
+ return 42;
+ }
+ assertEquals(mc.makeCallback(resource, globalThis, cb), 42);
+ assertEquals(callCount, 1);
+});
+
+Deno.test("napi makeCallback2", function () {
+ const resource = {};
+
+ let callCount = 0;
+ function cb(x) {
+ callCount++;
+ assertEquals(arguments.length, 1);
+ assertEquals(this, globalThis);
+ assertEquals(x, 1337);
+ return 42;
+ }
+ assertEquals(mc.makeCallback(resource, globalThis, cb, 1337), 42);
+ assertEquals(callCount, 1);
+});
+
+Deno.test("napi makeCallback3", function () {
+ const resource = {};
+
+ let callCount = 0;
+
+ function multiArgFunc(arg1, arg2, arg3) {
+ callCount++;
+ assertEquals(arg1, 1);
+ assertEquals(arg2, 2);
+ assertEquals(arg3, 3);
+ return 42;
+ }
+ assertEquals(
+ mc.makeCallback(resource, globalThis, multiArgFunc, 1, 2, 3),
+ 42,
+ );
+ assertEquals(callCount, 1);
+});