import { expect, test } from "vitest"; import { resolveMarkdownLink } from "@silverbulletmd/silverbullet/lib/resolve"; test("Test URL resolver", () => { // Absolute paths expect(resolveMarkdownLink("foo", "/bar")).toEqual("bar"); expect(resolveMarkdownLink("/foo/bar/baz", "/qux")).toEqual("qux"); expect(resolveMarkdownLink("foo", "/bar@123#456")).toEqual("bar@123#456"); expect(resolveMarkdownLink("foo/bar", "/baz.jpg")).toEqual("baz.jpg"); // Relative paths expect(resolveMarkdownLink("bar", "foo")).toEqual("foo"); expect(resolveMarkdownLink("foo/bar.jpg", "baz")).toEqual("foo/baz"); expect(resolveMarkdownLink("/foo/bar", "baz")).toEqual("/foo/baz"); expect(resolveMarkdownLink("foo///bar", "baz")).toEqual("foo///baz"); expect(resolveMarkdownLink("bar", "../foo/baz")).toEqual("foo/baz"); expect(resolveMarkdownLink("bar", "../../foo/baz")).toEqual("foo/baz"); expect(resolveMarkdownLink("bar/qux", "foo/../baz")).toEqual( "bar/foo/../baz", ); });