Files
2026-08-27 21:09:14 +00:00

33 lines
938 B
TypeScript

// https://github.com/oven-sh/bun/issues/25231
// Bun.FFI.CString should be callable as a constructor (new CString(ptr))
import { expect, test } from "bun:test";
test("Bun.FFI.CString is callable with new", () => {
const { CString, ptr } = Bun.FFI;
// Create a buffer with a null-terminated string
const buf = Buffer.from("hello\0");
const ptrValue = ptr(buf);
// CString should be callable with new
const result = new CString(ptrValue, 0, 5);
// The result should be the string "hello"
expect(String(result)).toBe("hello");
});
test("Bun.FFI.CString can be called without new", () => {
const { CString, ptr } = Bun.FFI;
// Create a buffer with a null-terminated string
const buf = Buffer.from("hello\0");
const ptrValue = ptr(buf);
// CString should also be callable without new
const result = CString(ptrValue, 0, 5);
// The result should be the string "hello"
expect(result).toBe("hello");
});