[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++) {