import { isUrl } from "./utils"; describe("isUrl tests", () => { it("should return false for invalid and corner case inputs", () => { expect(isUrl([])).toBeFalsy(); expect(isUrl({})).toBeFalsy(); expect(isUrl(false)).toBeFalsy(); expect(isUrl(true)).toBeFalsy(); expect(isUrl(NaN)).toBeFalsy(); expect(isUrl(null)).toBeFalsy(); expect(isUrl(undefined)).toBeFalsy(); expect(isUrl("")).toBeFalsy(); }); it("should return false for invalid URLs", () => { expect(isUrl("foo")).toBeFalsy(); expect(isUrl("bar")).toBeFalsy(); expect(isUrl("bar/test")).toBeFalsy(); expect(isUrl("http:/example.com/")).toBeFalsy(); expect(isUrl("ttp://example.com/")).toBeFalsy(); }); it("should return true for valid URLs", () => { expect(isUrl("http://example.com/")).toBeTruthy(); expect(isUrl("https://example.com/")).toBeTruthy(); expect(isUrl("http://example.com/test/123")).toBeTruthy(); expect(isUrl("https://example.com/test/123")).toBeTruthy(); expect(isUrl("http://example.com/test/123?foo=bar")).toBeTruthy(); expect(isUrl("https://example.com/test/123?foo=bar")).toBeTruthy(); expect(isUrl("http://www.example.com/")).toBeTruthy(); expect(isUrl("https://www.example.com/")).toBeTruthy(); expect(isUrl("http://www.example.com/test/123")).toBeTruthy(); expect(isUrl("https://www.example.com/test/123")).toBeTruthy(); expect(isUrl("http://www.example.com/test/123?foo=bar")).toBeTruthy(); expect(isUrl("https://www.example.com/test/123?foo=bar")).toBeTruthy(); }); });