mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-24 11:25:50 -06:00
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 <steipete@gmail.com>
This commit is contained in:
@@ -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 }]);
|
||||
});
|
||||
|
||||
@@ -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",
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user