summaryrefslogtreecommitdiff
path: root/tests/napi/object_wrap_test.js
diff options
context:
space:
mode:
Diffstat (limited to 'tests/napi/object_wrap_test.js')
-rw-r--r--tests/napi/object_wrap_test.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/napi/object_wrap_test.js b/tests/napi/object_wrap_test.js
new file mode 100644
index 000000000..f79fd08f8
--- /dev/null
+++ b/tests/napi/object_wrap_test.js
@@ -0,0 +1,41 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import { assert, assertEquals, loadTestLibrary } from "./common.js";
+
+const objectWrap = loadTestLibrary();
+
+Deno.test("napi object wrap new", function () {
+ const obj = new objectWrap.NapiObject(0);
+ assertEquals(obj.get_value(), 0);
+ obj.set_value(10);
+ assertEquals(obj.get_value(), 10);
+ obj.increment();
+ assertEquals(obj.get_value(), 11);
+ obj.increment();
+ obj.set_value(10);
+ assertEquals(obj.get_value(), 10);
+ assertEquals(objectWrap.NapiObject.factory(), 64);
+});
+
+Deno.test("napi bind finalizer", function () {
+ const obj = {};
+ objectWrap.test_bind_finalizer(obj);
+});
+
+Deno.test("napi external finalizer", function () {
+ let obj = objectWrap.test_external_finalizer();
+ assert(obj);
+ obj = null;
+});
+
+Deno.test("napi external buffer", function () {
+ let buf = objectWrap.test_external_buffer();
+ assertEquals(buf, new Uint8Array([1, 2, 3]));
+ buf = null;
+});
+
+Deno.test("napi external arraybuffer", function () {
+ let buf = objectWrap.test_external_arraybuffer();
+ assertEquals(new Uint8Array(buf), new Uint8Array([1, 2, 3]));
+ buf = null;
+});