Skip to content

Commit 80d031e

Browse files
committed
#151: don't overwrite given filename extension
1 parent 1cc700c commit 80d031e

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

src/main/java/org/simplejavamail/converter/internal/mimemessage/MimeMessageHelper.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ static String determineResourceName(final AttachmentResource attachmentResource,
263263
if (includeExtension && !valueNullOrEmpty(datasourceName)) {
264264
@SuppressWarnings("UnnecessaryLocalVariable") final
265265
String possibleFilename = datasourceName;
266-
if (possibleFilename.contains(".")) {
266+
if (!resourceName.contains(".") && possibleFilename.contains(".")) {
267267
final String extension = possibleFilename.substring(possibleFilename.lastIndexOf("."), possibleFilename.length());
268268
if (!resourceName.endsWith(extension)) {
269269
resourceName += extension;

src/test/java/org/simplejavamail/converter/internal/mimemessage/MimeMessageHelperTest.java

+8
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,14 @@ public void determineResourceName7()
8282
assertThat(MimeMessageHelper.determineResourceName(resource7, true)).isEqualTo("the resource.txt");
8383
}
8484

85+
@Test
86+
public void determineResourceName_ignoreExtensionFromResource()
87+
throws IOException {
88+
AttachmentResource resource7 = new AttachmentResource("the resource.txt", getDataSource("blahblah.1/www/get?id=3"));
89+
assertThat(MimeMessageHelper.determineResourceName(resource7, false)).isEqualTo("the resource.txt");
90+
assertThat(MimeMessageHelper.determineResourceName(resource7, true)).isEqualTo("the resource.txt");
91+
}
92+
8593
private ByteArrayDataSource getDataSource(String name)
8694
throws IOException {
8795
ByteArrayDataSource ds = new ByteArrayDataSource("", "text/text");

0 commit comments

Comments
 (0)