Browse Source

Fix asymmetry of equals when element has trailing dashes

See gh-34804
pull/36620/head
Eyðun Nielsen 3 years ago committed by Andy Wilkinson
parent
commit
a86429a62a
  1. 2
      spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/source/ConfigurationPropertyName.java
  2. 8
      spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/properties/source/ConfigurationPropertyNameTests.java

2
spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/source/ConfigurationPropertyName.java

@ -406,7 +406,7 @@ public final class ConfigurationPropertyName implements Comparable<Configuration @@ -406,7 +406,7 @@ public final class ConfigurationPropertyName implements Comparable<Configuration
int i2 = 0;
while (i1 < l1) {
if (i2 >= l2) {
return false;
return remainderIsNotAlphanumeric(e1, i, i1);
}
char ch1 = e1.charAt(i, i1);
char ch2 = e2.charAt(i, i2);

8
spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/properties/source/ConfigurationPropertyNameTests.java

@ -702,6 +702,14 @@ class ConfigurationPropertyNameTests { @@ -702,6 +702,14 @@ class ConfigurationPropertyNameTests {
assertThat(name2).isEqualTo(name1);
}
@Test
void equalsSymmetricWhenNameMatchesDueToRemovalOfTrailingDashes() {
ConfigurationPropertyName n1 = ConfigurationPropertyName.of("foobar");
ConfigurationPropertyName n2 = ConfigurationPropertyName.of("foobar--");
assertThat(n1).isEqualTo(n2);
assertThat(n2).isEqualTo(n1);
}
@Test
void isValidWhenValidShouldReturnTrue() {
assertThat(ConfigurationPropertyName.isValid("")).isTrue();

Loading…
Cancel
Save