forked from denoland/deno
-
Notifications
You must be signed in to change notification settings - Fork 0
/
object_wrap_test.js
41 lines (34 loc) · 1.13 KB
/
object_wrap_test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// Copyright 2018-2023 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;
});