1afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein// Copyright 2011 Google Inc. All Rights Reserved. 2afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein 3afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sappersteinpackage com.android.mail.utils; 4afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein 5afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sappersteinimport android.test.AndroidTestCase; 6afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sappersteinimport android.test.suitebuilder.annotation.SmallTest; 7afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein 8afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein@SmallTest 9afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sappersteinpublic class MimeTypeTest extends AndroidTestCase { 10afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein 11afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein private static final String TEST_MIME_TYPE = "test/mimetype"; 12afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein public void testInferMimeType() { 13afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein // eml file 14afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein assertEquals(MimeType.EML_ATTACHMENT_CONTENT_TYPE, 15afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein MimeType.inferMimeType("filename.eml", MimeType.GENERIC_MIMETYPE)); 16afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein 17afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein // mpeg4 video files 18afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein assertEquals("video/mp4", MimeType.inferMimeType("video.mp4", MimeType.GENERIC_MIMETYPE)); 19afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein 20afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein // file with no extension, should return the mimetype that was specified 21afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein assertEquals(TEST_MIME_TYPE, MimeType.inferMimeType("filename", TEST_MIME_TYPE)); 22afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein 23afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein // file with extension, and empty mimetype, where an mimetype can be derived 24afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein // from the extension. 25afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein assertEquals("video/mp4", MimeType.inferMimeType("video.mp4", "")); 26afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein 27afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein // file with extension, and empty mimetype, where an mimetype can not be derived 28afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein // from the extension. 29afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein assertEquals(MimeType.GENERIC_MIMETYPE, MimeType.inferMimeType("video.foo", "")); 30afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein 31afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein // rtf files, with a generic mimetype 32afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein assertEquals("text/rtf", MimeType.inferMimeType("filename.rtf", MimeType.GENERIC_MIMETYPE)); 33afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein 34afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein // rtf files, with a specified mimetype 35afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein assertEquals("application/rtf", MimeType.inferMimeType("filename.rtf", "application/rtf")); 36afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein } 37afb304ce8a5620449ff7a5c8813ebe8f7ab84af6Andrew Sapperstein} 38