[FILEUPLOAD-239] Add unit test from example in rfc1867.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/fileupload/trunk@1638215 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/test/java/org/apache/commons/fileupload/ServletFileUploadTest.java b/src/test/java/org/apache/commons/fileupload/ServletFileUploadTest.java
index 27c1ec8..09a4454 100644
--- a/src/test/java/org/apache/commons/fileupload/ServletFileUploadTest.java
+++ b/src/test/java/org/apache/commons/fileupload/ServletFileUploadTest.java
@@ -396,6 +396,43 @@
         assertEquals(2, mappedParameters.get("multi").size());
     }
 
+    /**
+     * Test for <a href="http://issues.apache.org/jira/browse/FILEUPLOAD-239">FILEUPLOAD-239</a>
+     */
+    @Test
+    public void testContentTypeAttachment()
+            throws IOException, FileUploadException {
+        List<FileItem> fileItems = parseUpload(
+        		"-----1234\r\n" +
+        		"content-disposition: form-data; name=\"field1\"\r\n" +
+        		"\r\n" +
+        		"Joe Blow\r\n" +
+        		"-----1234\r\n" +
+        		"content-disposition: form-data; name=\"pics\"\r\n" +
+        		"Content-type: multipart/mixed, boundary=---9876\r\n" +
+        		"\r\n" +
+        		"-----9876\r\n" +
+        		"Content-disposition: attachment; filename=\"file1.txt\"\r\n" +
+        		"Content-Type: text/plain\r\n" +
+        		"\r\n" + 
+        		"... contents of file1.txt ...\r\n" +
+        		"-----9876--\r\n" +
+        		"-----1234--\r\n");        				
+        assertEquals(2, fileItems.size());
+
+        FileItem field = fileItems.get(0);
+        assertEquals("field1", field.getFieldName());
+        assertTrue(field.isFormField());
+        assertEquals("Joe Blow", field.getString());
+
+        FileItem file = fileItems.get(1);
+        assertEquals("pics", file.getFieldName());
+        assertFalse(file.isFormField());
+        assertEquals("... contents of file1.txt ...", file.getString());
+        assertEquals("text/plain", file.getContentType());
+        assertEquals("file1.txt", file.getName());
+    }
+
     private void assertHeaders(String[] pHeaderNames, String[] pHeaderValues,
                                FileItem pItem, int pIndex) {
         for (int i = 0;  i < pHeaderNames.length;  i++) {