Skip to content

Commit c6fb579

Browse files
author
Björn Paulsen
committed
Trim whitespace in encoder values
Added `trim()` method to clean up input encoder values before processing in `ContentTransferEncoding.java`. Updated test cases in `ContentTransferEncodingTest.java` to cover the new behavior.
1 parent 35ed3c6 commit c6fb579

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

modules/core-module/src/main/java/org/simplejavamail/api/email/ContentTransferEncoding.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ public enum ContentTransferEncoding {
3232

3333
public static ContentTransferEncoding byEncoder(@NotNull final String encoder) {
3434
try {
35-
return ContentTransferEncoding.valueOf(encoder.replaceAll("-", "_").toUpperCase());
35+
return ContentTransferEncoding.valueOf(encoder.trim().replaceAll("-", "_").toUpperCase());
3636
} catch (IllegalArgumentException e) {
3737
return Arrays.stream(values())
38-
.filter(c -> c.encoder.equalsIgnoreCase(encoder.replaceAll("_", "-")))
38+
.filter(c -> c.encoder.equalsIgnoreCase(encoder.trim().replaceAll("_", "-")))
3939
.findFirst()
4040
.orElseThrow(() -> new IllegalArgumentException("unknown content transfer encoder: " + encoder));
4141
}

modules/simple-java-mail/src/test/java/org/simplejavamail/api/email/ContentTransferEncodingTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ public void byEncoder() {
1313
assertThat(ContentTransferEncoding.byEncoder("B")).isEqualTo(ContentTransferEncoding.B);
1414
assertThat(ContentTransferEncoding.byEncoder("b")).isEqualTo(ContentTransferEncoding.B);
1515
assertThat(ContentTransferEncoding.byEncoder("8bit")).isEqualTo(ContentTransferEncoding.BIT8);
16+
assertThat(ContentTransferEncoding.byEncoder("7bit ")).isEqualTo(ContentTransferEncoding.BIT7);
1617
assertThat(ContentTransferEncoding.byEncoder("x-uuencode")).isEqualTo(ContentTransferEncoding.X_UU);
1718
assertThat(ContentTransferEncoding.byEncoder("x_uuencode")).isEqualTo(ContentTransferEncoding.X_UU);
1819
assertThat(ContentTransferEncoding.byEncoder("QUOTED-PRINTABLE")).isEqualTo(ContentTransferEncoding.QUOTED_PRINTABLE);

0 commit comments

Comments
 (0)