mirror of
https://github.com/oven-sh/bun
synced 2026-02-10 10:58:56 +00:00
170 lines
4.9 KiB
JavaScript
170 lines
4.9 KiB
JavaScript
// 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);
|
|
// });
|
|
// });
|