From 8ee09e57661d9ea95bcc64fc933b46cdf3b3feb9 Mon Sep 17 00:00:00 2001 From: ChanHyeongLee Date: Tue, 11 Mar 2025 17:46:03 +0900 Subject: [PATCH] Separate commonly used DepositionTypeCheck into methods Closes gh-34573 Signed-off-by: ChanHyeongLee [brian.clozel@broadcom.com: apply code conventions] Signed-off-by: Brian Clozel --- .../http/ContentDisposition.java | 11 ++++++--- .../http/ContentDispositionTests.java | 24 +++++++++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/spring-web/src/main/java/org/springframework/http/ContentDisposition.java b/spring-web/src/main/java/org/springframework/http/ContentDisposition.java index 494dbeedd6..f60ba68801 100644 --- a/spring-web/src/main/java/org/springframework/http/ContentDisposition.java +++ b/spring-web/src/main/java/org/springframework/http/ContentDisposition.java @@ -99,7 +99,7 @@ public final class ContentDisposition { * @since 5.3 */ public boolean isAttachment() { - return (this.type != null && this.type.equalsIgnoreCase("attachment")); + return isDispositionType("attachment"); } /** @@ -107,7 +107,7 @@ public final class ContentDisposition { * @since 5.3 */ public boolean isFormData() { - return (this.type != null && this.type.equalsIgnoreCase("form-data")); + return isDispositionType("form-data"); } /** @@ -115,7 +115,11 @@ public final class ContentDisposition { * @since 5.3 */ public boolean isInline() { - return (this.type != null && this.type.equalsIgnoreCase("inline")); + return isDispositionType("inline"); + } + + private boolean isDispositionType(String type) { + return this.type != null && this.type.equalsIgnoreCase(type); } /** @@ -556,6 +560,7 @@ public final class ContentDisposition { } + /** * A mutable builder for {@code ContentDisposition}. */ diff --git a/spring-web/src/test/java/org/springframework/http/ContentDispositionTests.java b/spring-web/src/test/java/org/springframework/http/ContentDispositionTests.java index 7d56af56b8..ab334b4af1 100644 --- a/spring-web/src/test/java/org/springframework/http/ContentDispositionTests.java +++ b/spring-web/src/test/java/org/springframework/http/ContentDispositionTests.java @@ -310,4 +310,28 @@ class ContentDispositionTests { .isEqualTo(filename); } + @Test + void attachmentType(){ + ContentDisposition attachment = ContentDisposition.attachment().build(); + assertThat(attachment.isAttachment()).isTrue(); + assertThat(attachment.isFormData()).isFalse(); + assertThat(attachment.isInline()).isFalse(); + } + + @Test + void formDataType(){ + ContentDisposition formData = ContentDisposition.formData().build(); + assertThat(formData.isAttachment()).isFalse(); + assertThat(formData.isFormData()).isTrue(); + assertThat(formData.isInline()).isFalse(); + } + + @Test + void inlineType(){ + ContentDisposition inline = ContentDisposition.inline().build(); + assertThat(inline.isAttachment()).isFalse(); + assertThat(inline.isFormData()).isFalse(); + assertThat(inline.isInline()).isTrue(); + } + }