From 63efbbc879b6d180b4082048291349b439ec4b41 Mon Sep 17 00:00:00 2001 From: Amp Date: Mon, 10 Aug 2026 21:31:45 +0000 Subject: [PATCH] test(media): cover canonical file URL dedupe Amp-Thread-ID: https://ampcode.com/threads/T-019fed8d-ad78-74f0-9592-a3466bb6a9bd Co-authored-by: Peter Steinberger --- src/auto-reply/reply/reply-payloads.test.ts | 9 ++++++--- src/media/media-reference-comparison.test.ts | 6 ++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/auto-reply/reply/reply-payloads.test.ts b/src/auto-reply/reply/reply-payloads.test.ts index 790900e8e85f..a959fd926cff 100644 --- a/src/auto-reply/reply/reply-payloads.test.ts +++ b/src/auto-reply/reply/reply-payloads.test.ts @@ -131,10 +131,13 @@ describe("filterMessagingToolMediaDuplicates", () => { expect(result).toBe(payloads); }); - it("dedupes equivalent file and local path variants", () => { + it.each([ + ["/tmp/photo.jpg", "file:///tmp/photo.jpg"], + ["FILE:/tmp/photo.jpg", "file:///tmp/photo.jpg"], + ])("dedupes equivalent media references %s and %s", (mediaUrl, sentMediaUrl) => { const result = filterMessagingToolMediaDuplicates({ - payloads: [{ text: "hello", mediaUrl: "/tmp/photo.jpg" }], - sentMediaUrls: ["file:///tmp/photo.jpg"], + payloads: [{ text: "hello", mediaUrl }], + sentMediaUrls: [sentMediaUrl], }); expect(result).toEqual([{ text: "hello", mediaUrl: undefined, mediaUrls: undefined }]); }); diff --git a/src/media/media-reference-comparison.test.ts b/src/media/media-reference-comparison.test.ts index d7de2551a77c..8db35cb1ab7d 100644 --- a/src/media/media-reference-comparison.test.ts +++ b/src/media/media-reference-comparison.test.ts @@ -6,6 +6,9 @@ describe("normalizeMediaReferenceForComparison", () => { expect(normalizeMediaReferenceForComparison("file:///tmp/generated%20image.png")).toBe( normalizeMediaReferenceForComparison("/tmp/generated image.png"), ); + expect(normalizeMediaReferenceForComparison("FILE:/tmp/generated%20image.png")).toBe( + normalizeMediaReferenceForComparison("/tmp/generated image.png"), + ); }); it("keeps parent segments distinct without resolving filesystem identity", () => { @@ -60,6 +63,9 @@ describe("normalizeMediaReferenceForComparison", () => { expect(normalizeMediaReferenceForComparison("file:///tmp/100%.png")).toBe( normalizeMediaReferenceForComparison("/tmp/100%.png"), ); + expect(normalizeMediaReferenceForComparison("FILE:/tmp/100%.png")).toBe( + normalizeMediaReferenceForComparison("/tmp/100%.png"), + ); expect(normalizeMediaReferenceForComparison("file:///tmp/link/../asset%.png")).toBe( "/tmp/link/../asset%.png", );