aboutsummaryrefslogtreecommitdiff
path: root/test/bun.js
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-09-08 23:37:59 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-09-08 23:37:59 -0700
commitbcbe1b410a32cbed72d671ca28e937e14dad3499 (patch)
tree7e67e01a2eb4e4d5b91e72b61a2b6fdf50b2a210 /test/bun.js
parent206820d27a952e2a7c84da9177ca36d825ee7987 (diff)
downloadbun-bcbe1b410a32cbed72d671ca28e937e14dad3499.tar.gz
bun-bcbe1b410a32cbed72d671ca28e937e14dad3499.tar.zst
bun-bcbe1b410a32cbed72d671ca28e937e14dad3499.zip
Last commit was missing some code
Diffstat (limited to 'test/bun.js')
-rw-r--r--test/bun.js/ffi.test.js45
1 files changed, 22 insertions, 23 deletions
diff --git a/test/bun.js/ffi.test.js b/test/bun.js/ffi.test.js
index 72847788d..e8e81996a 100644
--- a/test/bun.js/ffi.test.js
+++ b/test/bun.js/ffi.test.js
@@ -1,18 +1,14 @@
-import { describe, it, expect } from "bun:test";
-import { unsafe } from "bun";
+import { expect, it } from "bun:test";
//
import {
- native,
- viewSource,
- dlopen as _dlopen,
+ CFunction,
CString,
+ dlopen as _dlopen,
ptr,
- toBuffer,
- toArrayBuffer,
- FFIType,
- callback,
- CFunction,
read,
+ toArrayBuffer,
+ toBuffer,
+ viewSource,
} from "bun:ffi";
const dlopen = (...args) => {
@@ -614,25 +610,28 @@ function ffiRunner(fast) {
// ffiRunner(true);
// });
-it("FFI.read", () => {
+it("read", () => {
const buffer = new BigInt64Array(64);
- const view = new DataView(buffer.buffer);
- const ptr_ = ptr(buffer);
+ const dataView = new DataView(buffer.buffer);
+ const addr = ptr(buffer);
for (let i = 0; i < 64; i++) {
buffer[i] = BigInt(i);
- expect(read.intptr(ptr_, i * 8)).toBe(
- Number(view.getBigInt64(i * 8, true))
+ expect(read.intptr(addr, i * 8)).toBe(
+ Number(dataView.getBigInt64(i * 8, true))
+ );
+ expect(read.ptr(addr, i * 8)).toBe(
+ Number(dataView.getBigUint64(i * 8, true))
);
- expect(read.ptr(ptr_, i * 8)).toBe(Number(view.getBigUint64(i * 8, true)));
}
- for (let i = 0; i < buffer.byteLength / 4; i++) {
- expect(read.i8(ptr_, i)).toBe(view.getInt8(i, true));
- expect(read.i16(ptr_, i)).toBe(view.getInt16(i, true));
- expect(read.i32(ptr_, i)).toBe(view.getInt32(i, true));
- expect(read.u8(ptr_, i)).toBe(view.getUint8(i, true));
- expect(read.u16(ptr_, i)).toBe(view.getUint16(i, true));
- expect(read.u32(ptr_, i)).toBe(view.getUint32(i, true));
+
+ for (let i = 0; i < buffer.byteLength - 4; i++) {
+ expect(read.i8(addr, i)).toBe(dataView.getInt8(i, true));
+ expect(read.i16(addr, i)).toBe(dataView.getInt16(i, true));
+ expect(read.i32(addr, i)).toBe(dataView.getInt32(i, true));
+ expect(read.u8(addr, i)).toBe(dataView.getUint8(i, true));
+ expect(read.u16(addr, i)).toBe(dataView.getUint16(i, true));
+ expect(read.u32(addr, i)).toBe(dataView.getUint32(i, true));
}
});