From 26d2f4a4a2f1dcb1e556cdaa5ad256786bbdf675 Mon Sep 17 00:00:00 2001 From: Henri Yandell Date: Wed, 3 May 2006 04:59:09 +0000 Subject: [PATCH] Committing a failing test (StackOverflow) as a part of #36061 git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/lang/trunk@399141 13f79535-47bb-0310-9956-ffa450edef68 --- .../lang/builder/ToStringBuilderTest.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/test/org/apache/commons/lang/builder/ToStringBuilderTest.java b/src/test/org/apache/commons/lang/builder/ToStringBuilderTest.java index 6f39f1983..c1f412180 100644 --- a/src/test/org/apache/commons/lang/builder/ToStringBuilderTest.java +++ b/src/test/org/apache/commons/lang/builder/ToStringBuilderTest.java @@ -946,4 +946,24 @@ class InheritedReflectionStaticFieldsFixture extends SimpleReflectionStaticField public void testReflectionNull() { assertEquals("", ReflectionToStringBuilder.toString(null)); } + + public void testObjectCycle() { + ObjectCycle a = new ObjectCycle(); + ObjectCycle b = new ObjectCycle(); + a.obj = b; + b.obj = a; + + String expected = toBaseString(a) + "[" + toBaseString(b) + "[" + toBaseString(a) + "]]"; + assertEquals(expected, a.toString()); + validateEmptyReflectionRegistry(); + } + + static class ObjectCycle { + Object obj; + + public String toString() { + return new ToStringBuilder(this).append(obj).toString(); + } + } + }