42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
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");
|
|
});
|