Browse Source

StringUtils.parseLocaleString accepts Java 7 variants

Issue: SPR-14718
pull/1173/head
Juergen Hoeller 9 years ago
parent
commit
f24ce76edb
  1. 2
      spring-core/src/main/java/org/springframework/util/StringUtils.java
  2. 5
      spring-core/src/test/java/org/springframework/util/StringUtilsTests.java

2
spring-core/src/main/java/org/springframework/util/StringUtils.java

@ -715,7 +715,7 @@ public abstract class StringUtils { @@ -715,7 +715,7 @@ public abstract class StringUtils {
private static void validateLocalePart(String localePart) {
for (int i = 0; i < localePart.length(); i++) {
char ch = localePart.charAt(i);
if (ch != '_' && ch != ' ' && !Character.isLetterOrDigit(ch)) {
if (ch != ' ' && ch != '_' && ch != '#' && !Character.isLetterOrDigit(ch)) {
throw new IllegalArgumentException(
"Locale part \"" + localePart + "\" contains invalid characters");
}

5
spring-core/src/test/java/org/springframework/util/StringUtilsTests.java

@ -692,4 +692,9 @@ public class StringUtilsTests { @@ -692,4 +692,9 @@ public class StringUtilsTests {
assertEquals("Variant containing country code not extracted correctly", variant, locale.getVariant());
}
@Test // SPR-14718
public void testParseJava7Variant() {
assertEquals("sr_#LATN", StringUtils.parseLocaleString("sr_#LATN").toString());
}
}

Loading…
Cancel
Save