diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/WebSocketExtension.java b/spring-websocket/src/main/java/org/springframework/web/socket/WebSocketExtension.java index 4466ab3c391..c8a62ccabe7 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/WebSocketExtension.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/WebSocketExtension.java @@ -30,8 +30,9 @@ import org.springframework.util.LinkedCaseInsensitiveMap; import org.springframework.util.StringUtils; /** - * Represents a WebSocket extension as defined in the RFC 6455. - * WebSocket extensions add protocol features to the WebSocket protocol. The extensions + * Represents a WebSocket extension as defined in RFC 6455. + * + *

WebSocket extensions add protocol features to the WebSocket protocol. The extensions * used within a session are negotiated during the handshake phase as follows: *

* *

WebSocket Extension HTTP headers may include parameters and follow - * RFC 7230 section 3.2

+ * RFC 7230 section 3.2 * - *

Note that the order of extensions in HTTP headers defines their order of execution, - * for example, extensions "foo, bar" will be executed as "bar(foo(message))".

+ *

Note that the order of extensions in HTTP headers defines their order of execution — + * for example, extensions "foo, bar" will be executed as "bar(foo(message))". * * @author Brian Clozel * @author Juergen Hoeller diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/WebSocketExtensionTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/WebSocketExtensionTests.java index e30b636119c..6dbaeaac167 100644 --- a/spring-websocket/src/test/java/org/springframework/web/socket/WebSocketExtensionTests.java +++ b/spring-websocket/src/test/java/org/springframework/web/socket/WebSocketExtensionTests.java @@ -21,6 +21,7 @@ import java.util.List; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.entry; /** * Test fixture for {@link WebSocketExtension}. @@ -34,13 +35,11 @@ class WebSocketExtensionTests { List extensions = WebSocketExtension.parseExtensions("x-test-extension ; foo=bar ; bar=baz"); - assertThat(extensions).hasSize(1); - WebSocketExtension extension = extensions.get(0); - - assertThat(extension.getName()).isEqualTo("x-test-extension"); - assertThat(extension.getParameters()).hasSize(2); - assertThat(extension.getParameters().get("foo")).isEqualTo("bar"); - assertThat(extension.getParameters().get("bar")).isEqualTo("baz"); + assertThat(extensions).singleElement().satisfies(extension -> { + assertThat(extension.getName()).isEqualTo("x-test-extension"); + assertThat(extension.getParameters()) + .containsOnly(entry("foo", "bar"), entry("bar", "baz")); + }); } @Test @@ -48,7 +47,7 @@ class WebSocketExtensionTests { List extensions = WebSocketExtension.parseExtensions("x-foo-extension, x-bar-extension"); - assertThat(extensions.stream().map(WebSocketExtension::getName)) + assertThat(extensions).extracting(WebSocketExtension::getName) .containsExactly("x-foo-extension", "x-bar-extension"); }