Skip to content

Commit d40798d

Browse files
committed
[LANG-1818] Fix ClassUtils.getShortClassName(Class) to correctly handle
$ in valid class names #1591 - Javadoc - Sort class name - Sort new members
1 parent 4052e98 commit d40798d

2 files changed

Lines changed: 11 additions & 16 deletions

File tree

src/changes/changes.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ The <action> type attribute can be add,update,fix,remove.
112112
<action issue="LANG-1814" type="fix" dev="ggregory" due-to="Ivan Ponomarev">ArrayUtils.subarray(..) may overflow index arithmetic and violate contract for extreme index values.</action>
113113
<action issue="LANG-1816" type="fix" dev="ggregory" due-to="Ivan Ponomarev, Gary Gregory">ArrayUtils contains/indexOf/indexesOf with tolerance fail to match NaN values #1589.</action>
114114
<action type="fix" dev="ggregory" due-to="Ivan Ponomarev, Gary Gregory">Fix StringIndexOutOfBoundsException message in StrBuilder.append(char[], int, int).</action>
115+
<action issue="LANG-1818" type="fix" dev="ggregory" due-to="Ivan Ponomarev, Gary Gregory">Fix ClassUtils.getShortClassName(Class) to correctly handle $ in valid class names #1591.</action>
115116
<!-- ADD -->
116117
<action type="add" dev="ggregory" due-to="Gary Gregory">Add JavaVersion.JAVA_27.</action>
117118
<action type="add" dev="ggregory" due-to="Gary Gregory">Add SystemUtils.IS_JAVA_27.</action>

src/test/java/org/apache/commons/lang3/ClassUtilsShortClassNameTest.java

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,19 @@
2222
import org.junit.jupiter.api.Test;
2323

2424
class $trange {
25-
26-
}
27-
28-
class Pa$$word {
29-
3025
}
3126

3227
/**
33-
* Tests for <a href="https://issues.apache.org/jira/browse/LANG-1818">LANG-1818</a>
28+
* Tests {@link ClassUtils#getShortClassName(Class)} for <a href="https://issues.apache.org/jira/browse/LANG-1818">LANG-1818</a>
3429
*/
3530
public class ClassUtilsShortClassNameTest {
3631

3732
class $Inner {
38-
3933
}
4034

4135
class Inner {
42-
class Ne$ted {
4336

37+
class Ne$ted {
4438
}
4539
}
4640

@@ -55,20 +49,20 @@ void testDollarSignWithinName() {
5549
}
5650

5751
@Test
58-
void testMultipleDollarSigns() {
59-
assertEquals(getClass().getSimpleName() + ".$Inner",
60-
ClassUtils.getShortClassName($Inner.class));
52+
void testInnerClassName() {
53+
assertEquals(getClass().getSimpleName() + ".Inner", ClassUtils.getShortClassName(Inner.class));
6154
}
6255

6356
@Test
64-
void testInnerClassName() {
65-
assertEquals(getClass().getSimpleName() + ".Inner",
66-
ClassUtils.getShortClassName(Inner.class));
57+
void testMultipleDollarSigns() {
58+
assertEquals(getClass().getSimpleName() + ".$Inner", ClassUtils.getShortClassName($Inner.class));
6759
}
6860

6961
@Test
7062
void testNe$tedClassName() {
71-
assertEquals(getClass().getSimpleName() + ".Inner.Ne$ted",
72-
ClassUtils.getShortClassName(Inner.Ne$ted.class));
63+
assertEquals(getClass().getSimpleName() + ".Inner.Ne$ted", ClassUtils.getShortClassName(Inner.Ne$ted.class));
7364
}
7465
}
66+
67+
class Pa$$word {
68+
}

0 commit comments

Comments
 (0)