diff options
author | Gary Gregory <garydgregory@gmail.com> | 2024-04-24 11:09:10 -0400 |
---|---|---|
committer | Gary Gregory <garydgregory@gmail.com> | 2024-04-24 11:09:10 -0400 |
commit | c4007c4a24eafbed53109e4b0376b4fd0ba01b56 (patch) | |
tree | d80443fde1dc499555fb5d7a8dcc586b68d1bb05 /src/test/java/org/apache/commons/lang3/reflect | |
parent | abdcd5875b1f41ce28d2c0b73584deb28f57fcd2 (diff) | |
download | apache-commons-lang-c4007c4a24eafbed53109e4b0376b4fd0ba01b56.tar.gz |
[LANG-1524] TypeUtils.toString(Type) StackOverflowError for an inner
class in the inner class parameterized enclosing class #657
Diffstat (limited to 'src/test/java/org/apache/commons/lang3/reflect')
-rw-r--r-- | src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java b/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java index ce5051413..dca2096b5 100644 --- a/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java @@ -56,6 +56,16 @@ import org.apache.commons.lang3.reflect.testbed.StringParameterizedChild; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; +/** + * Test fixture for https://issues.apache.org/jira/browse/LANG-1524 + */ +class AAAAClass<T extends AAAAClass.BBBBClass.CCCClass> { + public static class BBBBClass { + public static class CCCClass { + } + } +} + final class AAAClass extends AAClass<String> { public class BBBClass extends BBClass<String> { // empty @@ -261,6 +271,13 @@ public class TypeUtilsTest<B> extends AbstractLangTest { assertEquals("T extends java.lang.Enum<T>", TypeUtils.toString(method.getGenericReturnType())); } + @Test + public void test_LANG_1524() { + assertEquals("AAAAClass(cycle).BBBBClass.CCCClass", TypeUtils.toString(AAAAClass.BBBBClass.CCCClass.class)); + assertEquals("AAAAClass(cycle).BBBBClass", TypeUtils.toString(AAAAClass.BBBBClass.class)); + assertEquals("AAAAClass(cycle)", TypeUtils.toString(AAAAClass.class)); + } + /** * <pre>{@code * java.lang.StackOverflowError |