diff options
Diffstat (limited to 'test/js/node/harness.test.js')
-rw-r--r-- | test/js/node/harness.test.js | 169 |
1 files changed, 169 insertions, 0 deletions
diff --git a/test/js/node/harness.test.js b/test/js/node/harness.test.js new file mode 100644 index 000000000..de00e30ca --- /dev/null +++ b/test/js/node/harness.test.js @@ -0,0 +1,169 @@ +// 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); +// }); +// }); |