aboutsummaryrefslogtreecommitdiff
path: root/test/js/node/harness.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/js/node/harness.test.js')
-rw-r--r--test/js/node/harness.test.js169
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);
+// });
+// });