diff --git a/spring-test/src/main/java/org/springframework/mock/web/MockCookie.java b/spring-test/src/main/java/org/springframework/mock/web/MockCookie.java
index be119c2907..e3589d7463 100644
--- a/spring-test/src/main/java/org/springframework/mock/web/MockCookie.java
+++ b/spring-test/src/main/java/org/springframework/mock/web/MockCookie.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2023 the original author or authors.
+ * Copyright 2002-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -104,7 +104,12 @@ public class MockCookie extends Cookie {
* @see The Partitioned attribute spec
*/
public void setPartitioned(boolean partitioned) {
- setAttribute("Partitioned", "");
+ if (partitioned) {
+ setAttribute("Partitioned", "");
+ }
+ else {
+ setAttribute("Partitioned", null);
+ }
}
/**
diff --git a/spring-test/src/test/java/org/springframework/mock/web/MockCookieTests.java b/spring-test/src/test/java/org/springframework/mock/web/MockCookieTests.java
index 4f2e7a019b..e078b38094 100644
--- a/spring-test/src/test/java/org/springframework/mock/web/MockCookieTests.java
+++ b/spring-test/src/test/java/org/springframework/mock/web/MockCookieTests.java
@@ -46,6 +46,7 @@ class MockCookieTests {
assertThat(cookie.getMaxAge()).isEqualTo(-1);
assertThat(cookie.getPath()).isNull();
assertThat(cookie.isHttpOnly()).isFalse();
+ assertThat(cookie.isPartitioned()).isFalse();
assertThat(cookie.getSecure()).isFalse();
assertThat(cookie.getSameSite()).isNull();
}
@@ -207,9 +208,11 @@ class MockCookieTests {
@Test
void setPartitioned() {
MockCookie cookie = new MockCookie("SESSION", "123");
- cookie.setAttribute("Partitioned", "");
-
+ assertThat(cookie.isPartitioned()).isFalse();
+ cookie.setPartitioned(true);
assertThat(cookie.isPartitioned()).isTrue();
+ cookie.setPartitioned(false);
+ assertThat(cookie.isPartitioned()).isFalse();
}
}
diff --git a/spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockCookie.java b/spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockCookie.java
index a2680c0ae5..ea0353fb21 100644
--- a/spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockCookie.java
+++ b/spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockCookie.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2023 the original author or authors.
+ * Copyright 2002-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -104,7 +104,12 @@ public class MockCookie extends Cookie {
* @see The Partitioned attribute spec
*/
public void setPartitioned(boolean partitioned) {
- setAttribute("Partitioned", "");
+ if (partitioned) {
+ setAttribute("Partitioned", "");
+ }
+ else {
+ setAttribute("Partitioned", null);
+ }
}
/**
@@ -197,6 +202,7 @@ public class MockCookie extends Cookie {
.append("Comment", getComment())
.append("Secure", getSecure())
.append("HttpOnly", isHttpOnly())
+ .append("Partitioned", isPartitioned())
.append(SAME_SITE, getSameSite())
.append("Max-Age", getMaxAge())
.append(EXPIRES, getAttribute(EXPIRES))