You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.3 KiB
34 lines
1.3 KiB
import { describe, expect, test } from "bun:test";
|
|
import { extractMediaUrlsFromMarkdown, publicAssetUrlToStorageKey } from "./post-media-urls";
|
|
|
|
describe("extractMediaUrlsFromMarkdown", () => {
|
|
test("accepts site-relative /public/assets/ URL", () => {
|
|
expect(extractMediaUrlsFromMarkdown("")).toEqual(["/public/assets/a.webp"]);
|
|
});
|
|
|
|
test("accepts absolute URL with same path and normalizes to relative", () => {
|
|
expect(
|
|
extractMediaUrlsFromMarkdown(""),
|
|
).toEqual(["/public/assets/b.webp"]);
|
|
});
|
|
|
|
test("strips query on relative asset URL", () => {
|
|
expect(extractMediaUrlsFromMarkdown("")).toEqual(["/public/assets/c.webp"]);
|
|
});
|
|
|
|
test("strips query on absolute asset URL via pathname", () => {
|
|
expect(
|
|
extractMediaUrlsFromMarkdown(""),
|
|
).toEqual(["/public/assets/d.webp"]);
|
|
});
|
|
|
|
test("ignores non-asset absolute URLs", () => {
|
|
expect(extractMediaUrlsFromMarkdown("")).toEqual([]);
|
|
});
|
|
});
|
|
|
|
describe("publicAssetUrlToStorageKey", () => {
|
|
test("maps normalized path to storage key", () => {
|
|
expect(publicAssetUrlToStorageKey("/public/assets/z.webp")).toBe("z.webp");
|
|
});
|
|
});
|
|
|