From fbf5e226ec9194ab67081cb9ecdd5f839cd87c3a Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 9 Aug 2026 14:33:12 +0100 Subject: Check image content type for backslashes --- test/images.tests.js | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'test') diff --git a/test/images.tests.js b/test/images.tests.js index f308174..5bcf3ba 100644 --- a/test/images.tests.js +++ b/test/images.tests.js @@ -110,3 +110,45 @@ test('mammoth.images.imgElement()', { }); } }); + +test("imageFilenameExtension", { + "extension is derived from subtype of content type": function() { + var image = new documents.Image({ + contentType: "image/gif" + }); + + var result = mammoth.images.imageFilenameExtension(image); + + assertThat(result, equalTo("gif")); + }, + + "data after second slash is ignored": function() { + var image = new documents.Image({ + contentType: "image/gif/jpeg" + }); + + var result = mammoth.images.imageFilenameExtension(image); + + assertThat(result, equalTo("gif")); + }, + + "backslashes are treated as forward slashes": function() { + var image = new documents.Image({ + contentType: "image\\gif\\..\\" + }); + + var result = mammoth.images.imageFilenameExtension(image); + + assertThat(result, equalTo("gif")); + }, + + "when there is no subtype then null is returned": function() { + var image = new documents.Image({ + contentType: "image" + }); + + var result = mammoth.images.imageFilenameExtension(image); + + assertThat(result, equalTo(undefined)); + } +}); -- cgit v1.2.3