mirror of
https://github.com/denoland/deno.git
synced 2024-12-27 01:29:14 -05:00
0b016a7fb8
This PR implements the NAPI for loading native modules into Deno. Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com> Co-authored-by: DjDeveloper <43033058+DjDeveloperr@users.noreply.github.com> Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
38 lines
978 B
JavaScript
38 lines
978 B
JavaScript
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
|
|
|
|
import { assertEquals, loadTestLibrary } from "./common.js";
|
|
|
|
const callback = loadTestLibrary();
|
|
|
|
Deno.test("napi callback run with args", function () {
|
|
const result = callback.test_callback_run((a, b) => a + b, [1, 2]);
|
|
assertEquals(result, 3);
|
|
});
|
|
|
|
Deno.test("napi callback run with args (no return)", function () {
|
|
const result = callback.test_callback_run(() => {}, []);
|
|
assertEquals(result, undefined);
|
|
});
|
|
|
|
Deno.test("napi callback run with args (extra arguments)", function () {
|
|
const result = callback.test_callback_run((a, b) => a + b, [
|
|
"Hello,",
|
|
" Deno!",
|
|
1,
|
|
2,
|
|
3,
|
|
]);
|
|
assertEquals(result, "Hello, Deno!");
|
|
});
|
|
|
|
Deno.test("napi callback run with args & recv", function () {
|
|
const result = callback.test_callback_run_with_recv(
|
|
function () {
|
|
assertEquals(this, 69);
|
|
return this;
|
|
},
|
|
[],
|
|
69,
|
|
);
|
|
assertEquals(result, 69);
|
|
});
|