25 lines
770 B
TypeScript
25 lines
770 B
TypeScript
import { describe, expect, it } from "@suaveplan/testing/runner";
|
|
import { navigateOrCall } from "./navigate-or-call.js";
|
|
|
|
describe("navigateOrCall", () => {
|
|
it("invokes a function target", { timeout: 5000 }, () => {
|
|
let called = 0;
|
|
navigateOrCall(() => {
|
|
called += 1;
|
|
});
|
|
expect(called).toBe(1);
|
|
});
|
|
|
|
it("writes window.location.href when target is a string", {
|
|
timeout: 5000,
|
|
}, () => {
|
|
const original = window.location.href;
|
|
navigateOrCall("https://example.com/somewhere");
|
|
expect(window.location.href).not.toBe(original);
|
|
});
|
|
|
|
it("is a no-op for undefined target", { timeout: 5000 }, () => {
|
|
expect(() => navigateOrCall(undefined)).not.toThrow();
|
|
});
|
|
});
|