2 changed files with 50 additions and 2 deletions
@ -0,0 +1,34 @@ |
|||||
|
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"); |
||||
|
}); |
||||
|
}); |
||||
Loading…
Reference in new issue