This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-fileupload.git


The following commit(s) were added to refs/heads/master by this push:
     new aec04bc  Use generics in tests
aec04bc is described below

commit aec04bc7191ceddd5f400b2cd48b609ae4a1b34b
Author: Gary Gregory <[email protected]>
AuthorDate: Mon Jun 5 08:37:16 2023 -0400

    Use generics in tests
    
    Avoid type casting
---
 .../apache/commons/fileupload2/AbstractFileUploadTest.java |  7 ++++---
 .../commons/fileupload2/AbstractFileUploadWrapper.java     | 14 ++++++++------
 .../fileupload2/javax/JavaxServletFileUploadTest.java      |  5 ++---
 .../commons/fileupload2/portlet/PortletFileUploadTest.java |  7 +++----
 4 files changed, 17 insertions(+), 16 deletions(-)

diff --git 
a/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractFileUploadTest.java
 
b/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractFileUploadTest.java
index 19fe3d7..4f2f387 100644
--- 
a/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractFileUploadTest.java
+++ 
b/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractFileUploadTest.java
@@ -31,11 +31,12 @@ import org.junit.jupiter.api.Test;
  * Common tests for implementations of {@link FileUpload}. This is a 
parameterized test. Tests must be valid and common to all implementations of 
FileUpload
  * added as parameter in this class.
  *
+ * @param <T> The type for {@link FileUpload}.
  * @since 1.4
  */
-public abstract class AbstractFileUploadTest extends AbstractFileUploadWrapper 
{
+public abstract class AbstractFileUploadTest<T extends FileUpload<?>> extends 
AbstractFileUploadWrapper<T> {
 
-    protected AbstractFileUploadTest(final FileUpload fileUpload) {
+    protected AbstractFileUploadTest(final T fileUpload) {
         super(fileUpload);
     }
 
@@ -51,7 +52,7 @@ public abstract class AbstractFileUploadTest extends 
AbstractFileUploadWrapper {
     }
 
     /**
-     * Test for <a 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-239";>FILEUPLOAD-239</a>
+     * Tests <a 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-239";>FILEUPLOAD-239</a>
      */
     @Test
     public void testContentTypeAttachment() throws IOException, 
FileUploadException {
diff --git 
a/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractFileUploadWrapper.java
 
b/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractFileUploadWrapper.java
index 10d9215..303471d 100644
--- 
a/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractFileUploadWrapper.java
+++ 
b/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractFileUploadWrapper.java
@@ -22,22 +22,24 @@ import java.util.List;
 /**
  * Common tests for implementations of {@link FileUpload}. This is a 
parameterized test. Tests must be valid and common to all implementations of 
FileUpload
  * added as parameter in this class.
+ *
+ * @param <T> The type for {@link FileUpload}.
  */
-public abstract class AbstractFileUploadWrapper {
+public abstract class AbstractFileUploadWrapper<T extends FileUpload<?>> {
 
-    protected final FileUpload upload;
+    protected final T upload;
 
-    protected AbstractFileUploadWrapper(final FileUpload fileUpload) {
+    protected AbstractFileUploadWrapper(final T fileUpload) {
         this.upload = fileUpload;
     }
 
-    public List<FileItem> parseUpload(final FileUpload upload, final byte[] 
bytes) throws FileUploadException {
+    public List<FileItem> parseUpload(final T upload, final byte[] bytes) 
throws FileUploadException {
         return parseUpload(upload, bytes, Constants.CONTENT_TYPE);
     }
 
-    public abstract List<FileItem> parseUpload(final FileUpload upload, final 
byte[] bytes, final String contentType) throws FileUploadException;
+    public abstract List<FileItem> parseUpload(final T upload, final byte[] 
bytes, final String contentType) throws FileUploadException;
 
-    public List<FileItem> parseUpload(final FileUpload upload, final String 
content) throws FileUploadException {
+    public List<FileItem> parseUpload(final T upload, final String content) 
throws FileUploadException {
         final byte[] bytes = content.getBytes(StandardCharsets.US_ASCII);
         return parseUpload(upload, bytes, Constants.CONTENT_TYPE);
     }
diff --git 
a/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/JavaxServletFileUploadTest.java
 
b/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/JavaxServletFileUploadTest.java
index f72d496..b940109 100644
--- 
a/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/JavaxServletFileUploadTest.java
+++ 
b/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/JavaxServletFileUploadTest.java
@@ -32,12 +32,11 @@ import javax.servlet.http.HttpServletRequest;
 import org.apache.commons.fileupload2.AbstractFileUploadTest;
 import org.apache.commons.fileupload2.Constants;
 import org.apache.commons.fileupload2.FileItem;
-import org.apache.commons.fileupload2.FileUpload;
 import org.apache.commons.fileupload2.FileUploadException;
 import org.apache.commons.fileupload2.disk.DiskFileItemFactory;
 import org.junit.jupiter.api.Test;
 
-public class JavaxServletFileUploadTest extends AbstractFileUploadTest {
+public class JavaxServletFileUploadTest extends 
AbstractFileUploadTest<ServletFileUpload> {
 
     public JavaxServletFileUploadTest() {
         super(new ServletFileUpload(new DiskFileItemFactory()));
@@ -108,7 +107,7 @@ public class JavaxServletFileUploadTest extends 
AbstractFileUploadTest {
     }
 
     @Override
-    public List<FileItem> parseUpload(final FileUpload upload, final byte[] 
bytes, final String contentType) throws FileUploadException {
+    public List<FileItem> parseUpload(final ServletFileUpload upload, final 
byte[] bytes, final String contentType) throws FileUploadException {
         final HttpServletRequest request = new 
JavaxMockHttpServletRequest(bytes, contentType);
         return upload.parseRequest(new ServletRequestContext(request));
     }
diff --git 
a/commons-fileupload2-portlet/src/test/java/org/apache/commons/fileupload2/portlet/PortletFileUploadTest.java
 
b/commons-fileupload2-portlet/src/test/java/org/apache/commons/fileupload2/portlet/PortletFileUploadTest.java
index 3fbf132..ae1a74d 100644
--- 
a/commons-fileupload2-portlet/src/test/java/org/apache/commons/fileupload2/portlet/PortletFileUploadTest.java
+++ 
b/commons-fileupload2-portlet/src/test/java/org/apache/commons/fileupload2/portlet/PortletFileUploadTest.java
@@ -29,7 +29,6 @@ import javax.servlet.http.HttpServletRequest;
 import org.apache.commons.fileupload2.AbstractFileUploadTest;
 import org.apache.commons.fileupload2.Constants;
 import org.apache.commons.fileupload2.FileItem;
-import org.apache.commons.fileupload2.FileUpload;
 import org.apache.commons.fileupload2.FileUploadException;
 import org.apache.commons.fileupload2.disk.DiskFileItemFactory;
 import org.apache.commons.fileupload2.javax.JavaxMockHttpServletRequest;
@@ -42,7 +41,7 @@ import org.junit.jupiter.api.Test;
  * @see AbstractFileUploadTest
  * @since 1.4
  */
-public class PortletFileUploadTest extends AbstractFileUploadTest {
+public class PortletFileUploadTest extends 
AbstractFileUploadTest<PortletFileUpload> {
 
     public PortletFileUploadTest() {
         super(new PortletFileUpload(new DiskFileItemFactory()));
@@ -74,7 +73,7 @@ public class PortletFileUploadTest extends 
AbstractFileUploadTest {
         final byte[] bytes = text.getBytes(StandardCharsets.US_ASCII);
         final ActionRequest request = new MockPortletActionRequest(bytes, 
Constants.CONTENT_TYPE);
 
-        final Map<String, List<FileItem>> mappedParameters = 
((PortletFileUpload) upload).parseParameterMap(request);
+        final Map<String, List<FileItem>> mappedParameters = 
upload.parseParameterMap(request);
         assertTrue(mappedParameters.containsKey("file"));
         assertEquals(1, mappedParameters.get("file").size());
 
@@ -86,7 +85,7 @@ public class PortletFileUploadTest extends 
AbstractFileUploadTest {
     }
 
     @Override
-    public List<FileItem> parseUpload(final FileUpload upload, final byte[] 
bytes, final String contentType) throws FileUploadException {
+    public List<FileItem> parseUpload(final PortletFileUpload upload, final 
byte[] bytes, final String contentType) throws FileUploadException {
         final HttpServletRequest request = new 
JavaxMockHttpServletRequest(bytes, contentType);
         return upload.parseRequest(new ServletRequestContext(request));
     }

Reply via email to