import { describe, it, expect } from "bun:test"; import { throws, assert, strictEqual, createCallCheckCtx, createDoneDotAll, } from "./node-test-helpers"; describe("OurAssert.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; } console.log(err.code); expect(err instanceof Error).toBe(true); }); }); describe("OurAssert.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("OurAssert.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("OurAssert.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("OurAssert.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); }); }); svelte'>examples/framework-svelte Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/examples/with-markdown/src/components/ReactCounter.jsx (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2022-05-12fix(vercel): added type definitions (#3355)Gravatar Juan Martín Seery 2-1/+18
2022-05-12[ci] release (#3334)create-astro@0.12.1astro@1.0.0-beta.28@astrojs/vue@0.1.4@astrojs/vercel@0.2.0@astrojs/svelte@0.1.3@astrojs/react@0.1.2@astrojs/netlify@0.3.4Gravatar github-actions[bot] 58-196/+171
2022-05-12Serialize route generation (#3354)Gravatar Juan Martín Seery 5-59/+61
2022-05-12Corrected the default value of trailingSlash (#3353)Gravatar Rafid Muhymin Wafi 1-1/+1
2022-05-12[ci] formatGravatar matthewp 1-85/+78
2022-05-12Fixed search bar of the docs example not working (#3247)Gravatar Rafid Muhymin Wafi 1-76/+94
2022-05-12Add config option customPages (#3315)Gravatar Eloi-Perez 1-0/+14
2022-05-12fix: vite types (#3352)Gravatar Juan Martín Seery 4-5/+16
2022-05-12[ci] update lockfile (#3287)Gravatar Fred K. Schott 33-1038/+1096
2022-05-12[ci] formatGravatar matthewp 2-2/+2
2022-05-12add error hints (#3350)Gravatar Fred K. Schott 3-0/+19
2022-05-12[ci] formatGravatar matthewp 2-10/+6
2022-05-12Fix: React - Use "createRoot" instead of "hydrateRoot" for `client:only` (#3337)Gravatar Ben Holmes 4-22/+34
2022-05-12[ci] formatGravatar matthewp 1-2/+8
2022-05-12Resolve components by module ID during compilation (#3300)Gravatar Tony Sullivan 22-41/+407
2022-05-12[ci] collect statsGravatar FredKSchott 1-0/+1
2022-05-11Exclude `node-fetch` from vite.optimizeDeps (#3348)Gravatar Nate Moore 2-0/+6
2022-05-11fix: updated blog template with existing address (#3312)Gravatar Gautier Ben Aïm 1-2/+2
2022-05-11refactor(vercel): Build Output API v3 (#3216)Gravatar Juan Martín Seery 42-231/+659
2022-05-11Fix APIRoute type (#3344)Gravatar Matthew Phillips 3-11/+8
2022-05-11[create-astro] Finalize developer experience... with gradients 🚀 (#3313)Gravatar Ben Holmes 5-23/+123