WebSocketExtension#equals matches sub-classes too
Closes gh-26449
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2020 the original author or authors.
|
||||
* Copyright 2002-2021 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.
|
||||
@@ -102,7 +102,7 @@ public class WebSocketExtension {
|
||||
if (this == other) {
|
||||
return true;
|
||||
}
|
||||
if (other == null || getClass() != other.getClass()) {
|
||||
if (other == null || !WebSocketExtension.class.isAssignableFrom(other.getClass())) {
|
||||
return false;
|
||||
}
|
||||
WebSocketExtension otherExt = (WebSocketExtension) other;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2019 the original author or authors.
|
||||
* Copyright 2002-2021 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.
|
||||
@@ -18,8 +18,11 @@ package org.springframework.web.socket;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.glassfish.tyrus.core.TyrusExtension;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.web.socket.adapter.standard.StandardToWebSocketExtensionAdapter;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
@@ -30,7 +33,9 @@ public class WebSocketExtensionTests {
|
||||
|
||||
@Test
|
||||
public void parseHeaderSingle() {
|
||||
List<WebSocketExtension> extensions = WebSocketExtension.parseExtensions("x-test-extension ; foo=bar ; bar=baz");
|
||||
List<WebSocketExtension> extensions =
|
||||
WebSocketExtension.parseExtensions("x-test-extension ; foo=bar ; bar=baz");
|
||||
|
||||
assertThat(extensions).hasSize(1);
|
||||
WebSocketExtension extension = extensions.get(0);
|
||||
|
||||
@@ -42,9 +47,18 @@ public class WebSocketExtensionTests {
|
||||
|
||||
@Test
|
||||
public void parseHeaderMultiple() {
|
||||
List<WebSocketExtension> extensions = WebSocketExtension.parseExtensions("x-foo-extension, x-bar-extension");
|
||||
List<WebSocketExtension> extensions =
|
||||
WebSocketExtension.parseExtensions("x-foo-extension, x-bar-extension");
|
||||
|
||||
assertThat(extensions.stream().map(WebSocketExtension::getName))
|
||||
.containsExactly("x-foo-extension", "x-bar-extension");
|
||||
}
|
||||
|
||||
@Test // gh-26449
|
||||
public void equality() {
|
||||
WebSocketExtension ext1 = new WebSocketExtension("myExtension");
|
||||
WebSocketExtension ext2 = new StandardToWebSocketExtensionAdapter(new TyrusExtension("myExtension"));
|
||||
|
||||
assertThat(ext1).isEqualTo(ext2);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user