33 lines
836 B
TypeScript
33 lines
836 B
TypeScript
import { describe, expect, it } from "vitest";
|
|
|
|
// Modified version of invariant script to allow tests
|
|
const isProduction = false;
|
|
const prefix: string = "Invariant failed";
|
|
function invariant(condition: any, message?: string | (() => string)) {
|
|
if (condition) {
|
|
return;
|
|
}
|
|
if (isProduction) {
|
|
throw new Error(prefix);
|
|
}
|
|
const provided: string | undefined =
|
|
typeof message === "function" ? message() : message;
|
|
const value: string = provided ? `${prefix}: ${provided}` : prefix;
|
|
return value;
|
|
}
|
|
|
|
// TEST SECTION
|
|
const testTrue = true;
|
|
const testFalse = false;
|
|
describe("test invariant", () => {
|
|
it("Test `true` value", () => {
|
|
invariant(testTrue, "This should not error");
|
|
expect(null);
|
|
});
|
|
|
|
it("Test `false` value", () => {
|
|
invariant(testFalse, "This should Error");
|
|
expect(String("Invariant failed"));
|
|
});
|
|
});
|