From 4468faae99892bc5a79a98854b07016e5afb8e6e Mon Sep 17 00:00:00 2001 From: Abdul Mohammed Date: Tue, 30 Nov 2021 13:22:07 +0000 Subject: [PATCH] ADF-5234: [BE] Viewer - the Mimetype property should be changed when a new type of file is uploaded (#696) * Added Apple Icons mimetype * Added MimetypeMapContentTest for Apple Icons --- .../org/alfresco/repo/content/MimetypeMap.java | 2 ++ .../alfresco/mimetype/mimetype-map.xml | 4 ++++ .../alfresco/repo/content/MimetypeMapTest.java | 3 ++- .../repo/content/MimetypeMapContentTest.java | 8 ++++++++ repository/src/test/resources/quick/quick.icns | Bin 0 -> 44684 bytes 5 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 repository/src/test/resources/quick/quick.icns diff --git a/data-model/src/main/java/org/alfresco/repo/content/MimetypeMap.java b/data-model/src/main/java/org/alfresco/repo/content/MimetypeMap.java index 40daca0556..3e801cfe1e 100644 --- a/data-model/src/main/java/org/alfresco/repo/content/MimetypeMap.java +++ b/data-model/src/main/java/org/alfresco/repo/content/MimetypeMap.java @@ -192,6 +192,8 @@ public class MimetypeMap implements MimetypeService public static final String MIMETYPE_IMAGE_DWT = "image/x-dwt"; + public static final String MIMETYPE_IMAGE_ICNS = "image/icns"; + public static final String MIMETYPE_APPLICATION_EPS = "application/eps"; public static final String MIMETYPE_APPLICATION_PS = "application/postscript"; diff --git a/data-model/src/main/resources/alfresco/mimetype/mimetype-map.xml b/data-model/src/main/resources/alfresco/mimetype/mimetype-map.xml index a2ad28467b..572734ca2e 100644 --- a/data-model/src/main/resources/alfresco/mimetype/mimetype-map.xml +++ b/data-model/src/main/resources/alfresco/mimetype/mimetype-map.xml @@ -611,6 +611,10 @@ numbers + + + icns + diff --git a/data-model/src/test/java/org/alfresco/repo/content/MimetypeMapTest.java b/data-model/src/test/java/org/alfresco/repo/content/MimetypeMapTest.java index 5c5f9b0c1e..0258390a55 100644 --- a/data-model/src/test/java/org/alfresco/repo/content/MimetypeMapTest.java +++ b/data-model/src/test/java/org/alfresco/repo/content/MimetypeMapTest.java @@ -94,7 +94,8 @@ public class MimetypeMapTest extends TestCase // other text forms assertEquals("text/csv", mimetypesByExtension.get("csv")); assertEquals("text/html", mimetypesByExtension.get("html")); - + assertEquals("image/icns", mimetypesByExtension.get("icns")); + // JPEG assertEquals("jpg", extensionsByMimetype.get("image/jpeg")); assertEquals("image/jpeg", mimetypesByExtension.get("jpg")); diff --git a/repository/src/test/java/org/alfresco/repo/content/MimetypeMapContentTest.java b/repository/src/test/java/org/alfresco/repo/content/MimetypeMapContentTest.java index 31140447f9..3a9a15bf45 100644 --- a/repository/src/test/java/org/alfresco/repo/content/MimetypeMapContentTest.java +++ b/repository/src/test/java/org/alfresco/repo/content/MimetypeMapContentTest.java @@ -72,6 +72,14 @@ public class MimetypeMapContentTest extends TestCase ); } + public void testGuessAppleIconsMimetype() throws Exception + { + assertEquals( + "image/icns", + mimetypeService.guessMimetype("something.icns", openQuickTestFile("quick.icns")) + ); + } + public void testGuessMimetypeForFile() throws Exception { // Correct ones diff --git a/repository/src/test/resources/quick/quick.icns b/repository/src/test/resources/quick/quick.icns new file mode 100644 index 0000000000000000000000000000000000000000..4765e5d94dec560f7afce78cf660458db8c71d0f GIT binary patch literal 44684 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 AApigX literal 0 HcmV?d00001