summaryrefslogtreecommitdiff
path: root/test_napi/arraybuffer_test.js
blob: f55b9a78c514a1f543da8d4b7300192962f1c5de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.

import { assert, assertEquals, loadTestLibrary } from "./common.js";

const typedarray = loadTestLibrary();

Deno.test("napi arraybuffer detach", function () {
  const buf = new ArrayBuffer(5);
  assertEquals(buf.byteLength, 5);
  typedarray.test_detached(buf);
  assertEquals(buf.byteLength, 0);
});

Deno.test("napi arraybuffer is detached", function () {
  const buf = new ArrayBuffer(5);
  assertEquals(buf.byteLength, 5);
  assert(!typedarray.is_detached(buf));
  typedarray.test_detached(buf);
  assert(typedarray.is_detached(buf));

  [2, {}, "foo", null, undefined, new Uint8Array(10)].forEach((value) => {
    assert(!typedarray.is_detached(value));
  });
});