File tree Expand file tree Collapse file tree
main/java/org/apache/commons/lang3
test/java/org/apache/commons/lang3 Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -496,9 +496,14 @@ private static String getCanonicalName(final String name) {
496496 className = className .substring (dim );
497497 if (className .startsWith ("L" )) {
498498 className = className .substring (1 , className .endsWith (";" ) ? className .length () - 1 : className .length ());
499- } else if (!className .isEmpty ()) {
500- className = reverseAbbreviationMap .get (className .substring (0 , 1 ));
499+ }
500+ // else if (!className.isEmpty()) {
501+ // className = reverseAbbreviationMap.get(className.substring(0, 1));
502+ // }
503+ else if (!className .isEmpty () && className .length () == 1 && reverseAbbreviationMap .containsKey (className )) {
504+ className = reverseAbbreviationMap .get (className );
501505 }
506+
502507 final StringBuilder canonicalClassNameBuffer = new StringBuilder (className .length () + dim * 2 );
503508 canonicalClassNameBuffer .append (className );
504509 for (int i = 0 ; i < dim ; i ++) {
Original file line number Diff line number Diff line change @@ -237,6 +237,14 @@ public void test_getAllSuperclasses_Class() {
237237 assertNull (ClassUtils .getAllSuperclasses (null ));
238238 }
239239
240+ @ Test
241+ public void test_getShortCanonicalName_MalformedInput () {
242+ String input = "[String" ;
243+ String expected = "String[]" ;
244+ String actual = ClassUtils .getShortCanonicalName (input );
245+ assertEquals (expected , actual );
246+ }
247+
240248 @ Test
241249 public void test_getCanonicalName_Class () {
242250 assertEquals ("org.apache.commons.lang3.ClassUtils" , ClassUtils .getCanonicalName (ClassUtils .class ));
You can’t perform that action at this time.
0 commit comments