// import { describe, it, expect } from "bun:test"; // import { // throws, // assert, // strictEqual, // createCallCheckCtx, // createDoneDotAll, // } from "./node-test-helpers"; // describe("NodeTestHelpers.throws()", () => { // it("should pass when the function throws", () => { // throws(() => { // throw new Error("THROWN!"); // }); // }); // it("should fail when the function doesn't throw", () => { // let err; // try { // throws(() => {}, Error); // } catch (e) { // err = e; // } // expect(err instanceof Error).toBe(true); // }); // }); // describe("NodeTestHelpers.assert()", () => { // it("should pass when the provided value is true", () => { // assert(true); // }); // it("should fail when the provided value is false", () => { // let err; // try { // assert(false); // } catch (e) { // err = e; // } // expect(err instanceof Error).toBe(true); // }); // }); // describe("NodeTestHelpers.strictEqual()", () => { // it("should pass when the provided values are deeply equal", () => { // strictEqual(1, 1); // strictEqual("hello", "hello"); // const testing = { hello: "world" }; // const testing2 = testing; // testing2.hello = "bla"; // strictEqual(testing, testing2); // strictEqual(NaN, NaN); // strictEqual(Infinity, Infinity); // strictEqual(-Infinity, -Infinity); // strictEqual(null, null); // strictEqual(undefined, undefined); // }); // it("should fail when the provided values are not deeply equal", () => { // let err = null; // try { // strictEqual(1, 5); // } catch (e) { // err = e; // } // expect(err instanceof Error).toBe(true); // err = null; // try { // strictEqual({ foo: "bar" }, { foo: "bar" }); // } catch (e) { // err = e; // } // expect(err instanceof Error).toBe(true); // err = null; // try { // strictEqual("1", 1); // } catch (e) { // err = e; // } // expect(err instanceof Error).toBe(true); // err = null; // const obj1 = { foo: "bar" }; // const obj2 = JSON.parse(JSON.stringify(obj1)); // try { // strictEqual(obj1, obj2); // } catch (e) { // err = e; // } // expect(err instanceof Error).toBe(true); // }); // }); // describe("NodeTestHelpers.createCallCheckCtx", () => { // it("should pass when all mustCall marked callbacks have been called", (done) => { // const { mustCall } = createCallCheckCtx(done); // const fn1 = mustCall(() => {}); // const fn2 = mustCall(() => {}); // fn1(); // fn2(); // }); // it("should fail when all mustCall marked callbacks have NOT been called", (done) => { // const mockDone = (result) => { // expect(result instanceof Error).toBe(true); // done(); // }; // const { mustCall } = createCallCheckCtx(mockDone, 600); // const fn1 = mustCall(() => {}); // mustCall(() => {}); // fn1(); // }); // it("should allow us to get the args of the wrapped callback from mustCall", (done) => { // const { mustCall } = createCallCheckCtx(done); // const fn1 = mustCall((arg1, arg2) => { // expect(arg1).toBe("hello"); // expect(arg2).toBe("world"); // }); // fn1("hello", "world"); // }); // }); // describe("NodeTestHelpers.createDoneDotAll()", () => { // it("should pass when all dones have been called", (done) => { // const createDone = createDoneDotAll(done); // const done1 = createDone(600); // const done2 = createDone(600); // setTimeout(() => done1(), 300); // setTimeout(() => done2(), 450); // }); // it("should fail when all dones have NOT been called before timeout", (done) => { // const mockDone = (result) => { // expect(result instanceof Error).toBe(true); // done(); // }; // const createDone = createDoneDotAll(mockDone); // const done1 = createDone(400); // createDone(400); // setTimeout(() => done1(), 200); // }); // it("should allow us to combine mustCall and multiple dones", (done) => { // const createDone = createDoneDotAll(done); // const { mustCall } = createCallCheckCtx(createDone(600)); // const done1 = createDone(600); // const done2 = createDone(600); // const fn1 = mustCall(() => {}); // const fn2 = mustCall(() => {}); // setTimeout(() => done1(), 300); // setTimeout(() => done2(), 450); // setTimeout(() => fn1(), 200); // setTimeout(() => fn2(), 200); // }); // it("should fail if a done is called with an error", (done) => { // const mockDone = (result) => { // expect(result instanceof Error).toBe(true); // done(); // }; // const createDone = createDoneDotAll(mockDone); // const done1 = createDone(600); // const done2 = createDone(600); // setTimeout(() => done1(), 300); // setTimeout(() => done2(new Error("ERROR!")), 450); // }); // });