package de.uni_siegen.wineme.come_in.thumbnailer.test; import static org.junit.Assert.*; import java.io.File; import de.uni_siegen.wineme.come_in.thumbnailer.util.mime.MimeTypeDetector; import org.junit.Before; import org.junit.Test; public class MimeDetectionTest extends MyTestCase { private MimeTypeDetector mimeType; private File parent; public MimeDetectionTest() { new MimeTypeDetector(); // Initialize beforehand } @Before public void setUp() { mimeType = new MimeTypeDetector(); parent = new File(TESTFILES_DIR + "wrong_extension"); } @Test public void testGetExtensionFor() { assertEquals("odt", mimeType.getStandardExtensionForMimeType("application/vnd.oasis.opendocument.text")); assertTrue(mimeType.doesExtensionMatchMimeType("odt", "application/vnd.oasis.opendocument.text")); } @Test public void testImageFiles() { assertMime("image/png", "test2-png.jpg"); } @Test public void testImageFiles2() { assertMime("image/jpeg", "test2-jpg.bmp"); } @Test public void testImageFiles3() { assertMime("image/bmp", "test2-bmp.png"); } @Test public void testTextFiles() { assertMime("text/rtf", "test2-rtf.pdf"); } @Test public void testTextFiles2() { assertMime("application/pdf", "test2-pdf.ps"); } @Test public void testOpenOfficeFiles() { assertMime("application/vnd.oasis.opendocument.presentation", "test2-odp.pps"); } @Test public void testOpenOfficeFiles2() { assertMime("application/vnd.oasis.opendocument.spreadsheet", "test2-ods.xls"); } @Test public void testOpenOfficeFiles3() { assertMime("application/vnd.oasis.opendocument.text", "test2-odt.sxw"); } @Test public void testOpenOfficeFiles4() { assertMime("application/vnd.oasis.opendocument.text", "test2-odt.doc"); } @Test public void testOffice2007Files() { assertMime("application/vnd.openxmlformats-officedocument.wordprocessingml", "test2-docx.doc"); } @Test public void testOffice2007Files2() { assertMime("application/vnd.openxmlformats-officedocument.presentationml", "test2-pptx.ppt"); } @Test public void testOffice2007Files3() { assertMime("application/vnd.openxmlformats-officedocument.spreadsheetml", "test2-xlsx.ods"); } @Test public void testOffice2007Files4() { assertMime("application/vnd.openxmlformats-officedocument.spreadsheetml", "test2-xlsx.ppt"); } @Test public void testOfficeFiles() { assertMime("application/vnd.ms-powerpoint", "test2-ppt.odp"); } @Test public void testOfficeFiles2() { assertMime("application/vnd.ms-word", "test2-doc.ott"); } @Test public void testOfficeFiles3() { assertMime("application/vnd.ms-excel", "test2-xls.odp"); } @Test public void testScratch() { assertEquals("Standard extension of scratch was wrongly returned", "sb", mimeType.getStandardExtensionForMimeType("application/x-mit-scratch")); assertTrue("doesExtensionMatchMimeType of Scratch didn't return true", mimeType.doesExtensionMatchMimeType("sb", "application/x-mit-scratch")); assertMime("application/x-mit-scratch", "test2-sb.sbx"); } @Test public void testAutoCad() { assertMime("image/x-dwg", "test2-dwg.doc"); } public void assertMime(String expectedMime, String filename) { File file = new File(parent, filename); if (!file.exists()) fail("File " + filename + " does not exist"); String mime = mimeType.getMimeType(file); if (!expectedMime.equalsIgnoreCase(mime)) fail("File " + filename + ": Mime is not equal: expected \"" + expectedMime + "\", but was \"" + mime + "\"."); } }