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