Skip to content

Commit

Permalink
FILEUPLOAD-320 - Use charset constant int the test V1
Browse files Browse the repository at this point in the history
  • Loading branch information
arturobernalg committed Apr 25, 2021
1 parent a27bfc5 commit c64d048
Show file tree
Hide file tree
Showing 7 changed files with 20 additions and 17 deletions.
Expand Up @@ -20,6 +20,7 @@

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
Expand Down Expand Up @@ -420,11 +421,7 @@ public byte[] getBoundary(final String contentType) {
return null;
}
byte[] boundary;
try {
boundary = boundaryStr.getBytes("ISO-8859-1");
} catch (final UnsupportedEncodingException e) {
boundary = boundaryStr.getBytes(); // Intentionally falls back to default charset
}
boundary = boundaryStr.getBytes(StandardCharsets.ISO_8859_1);
return boundary;
}

Expand Down
Expand Up @@ -19,6 +19,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
Expand Down Expand Up @@ -237,7 +238,7 @@ private static String decodeWord(final String word) throws ParseException, Unsup
// the decoder writes directly to an output stream.
final ByteArrayOutputStream out = new ByteArrayOutputStream(encodedText.length());

final byte[] encodedData = encodedText.getBytes(US_ASCII_CHARSET);
final byte[] encodedData = encodedText.getBytes(StandardCharsets.US_ASCII);

// Base64 encoded?
if (encoding.equals(BASE64_ENCODING_MARKER)) {
Expand Down
Expand Up @@ -19,6 +19,7 @@
import static org.junit.jupiter.api.Assertions.*;

import java.io.File;
import java.nio.charset.StandardCharsets;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
Expand Down Expand Up @@ -84,7 +85,7 @@ public void testMoveFile() throws Exception {
"This is the content of the file\n" +
"\r\n" +
"-----1234--\r\n";
final byte[] contentBytes = content.getBytes("US-ASCII");
final byte[] contentBytes = content.getBytes(StandardCharsets.US_ASCII);
final HttpServletRequest request = new MockHttpServletRequest(contentBytes, Constants.CONTENT_TYPE);
final List<FileItem> items = myUpload.parseRequest(request);
assertNotNull(items);
Expand Down
Expand Up @@ -23,6 +23,7 @@

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.stream.Stream;

Expand Down Expand Up @@ -220,7 +221,7 @@ public void testFILEUPLOAD62(final FileUpload upload) throws Exception {
"...contents of file2.gif...\r\n" +
"--BbC04y--\r\n" +
"--AaB03x--";
final List<FileItem> fileItems = Util.parseUpload(upload, request.getBytes("US-ASCII"), contentType);
final List<FileItem> fileItems = Util.parseUpload(upload, request.getBytes(StandardCharsets.US_ASCII), contentType);
assertEquals(3, fileItems.size());
final FileItem item0 = fileItems.get(0);
assertEquals("field1", item0.getFieldName());
Expand Down
Expand Up @@ -19,6 +19,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;

import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Map;

Expand Down Expand Up @@ -63,7 +64,7 @@ public void parseParameterMap()
"\r\n" +
"value2\r\n" +
"-----1234--\r\n";
final byte[] bytes = text.getBytes("US-ASCII");
final byte[] bytes = text.getBytes(StandardCharsets.US_ASCII);
final HttpServletRequest request = new MockJakSrvltHttpRequest(bytes, Constants.CONTENT_TYPE);

final JakSrvltFileUpload upload = new JakSrvltFileUpload(new DiskFileItemFactory());
Expand All @@ -86,18 +87,18 @@ public void parseImpliedUtf8()
final String text = "-----1234\r\n" +
"Content-Disposition: form-data; name=\"utf8Html\"\r\n" +
"\r\n" +
"Thís ís the coñteñt of the fíle\n" +
"Th�s �s the co�te�t of the f�le\n" +
"\r\n" +
"-----1234--\r\n";

final byte[] bytes = text.getBytes("UTF-8");
final byte[] bytes = text.getBytes(StandardCharsets.UTF_8);
final HttpServletRequest request = new MockJakSrvltHttpRequest(bytes, Constants.CONTENT_TYPE);

final DiskFileItemFactory fileItemFactory = new DiskFileItemFactory();
fileItemFactory.setDefaultCharset("UTF-8");
final JakSrvltFileUpload upload = new JakSrvltFileUpload(fileItemFactory);
final List<FileItem> fileItems = upload.parseRequest(request);
final FileItem fileItem = fileItems.get(0);
assertTrue(fileItem.getString().contains("coñteñt"), fileItem.getString());
assertTrue(fileItem.getString().contains("co�te�t"), fileItem.getString());
}
}
Expand Up @@ -19,6 +19,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;

import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Map;

Expand Down Expand Up @@ -68,7 +69,7 @@ public void parseParameterMap()
"\r\n" +
"value2\r\n" +
"-----1234--\r\n";
final byte[] bytes = text.getBytes("US-ASCII");
final byte[] bytes = text.getBytes(StandardCharsets.US_ASCII);
final ActionRequest request = new MockPortletActionRequest(bytes, Constants.CONTENT_TYPE);

final Map<String, List<FileItem>> mappedParameters = upload.parseParameterMap(request);
Expand Down
Expand Up @@ -24,6 +24,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.nio.charset.StandardCharsets;

import org.junit.jupiter.api.Test;

Expand Down Expand Up @@ -134,15 +135,15 @@ public void badLength() throws Exception {
// The non-ASCII characters should just be ignored
@Test
public void nonASCIIcharacter() throws Exception {
assertEncoded("f","Zg=À="); // A-grave
assertEncoded("f","Zg=="); // A-grave
assertEncoded("f","Zg=\u0100=");
}

private static void assertEncoded(final String clearText, final String encoded) throws Exception {
final byte[] expected = clearText.getBytes(US_ASCII_CHARSET);
final byte[] expected = clearText.getBytes(StandardCharsets.US_ASCII);

final ByteArrayOutputStream out = new ByteArrayOutputStream(encoded.length());
final byte[] encodedData = encoded.getBytes(US_ASCII_CHARSET);
final byte[] encodedData = encoded.getBytes(StandardCharsets.US_ASCII);
Base64Decoder.decode(encodedData, out);
final byte[] actual = out.toByteArray();

Expand All @@ -151,7 +152,7 @@ private static void assertEncoded(final String clearText, final String encoded)

private static void assertIOException(final String messageText, final String encoded) throws UnsupportedEncodingException {
final ByteArrayOutputStream out = new ByteArrayOutputStream(encoded.length());
final byte[] encodedData = encoded.getBytes(US_ASCII_CHARSET);
final byte[] encodedData = encoded.getBytes(StandardCharsets.US_ASCII);
try {
Base64Decoder.decode(encodedData, out);
fail("Expected IOException");
Expand Down

0 comments on commit c64d048

Please sign in to comment.