diff --git a/src/test/java/fr/xephi/authme/util/ExceptionUtilsTest.java b/src/test/java/fr/xephi/authme/util/ExceptionUtilsTest.java index e6931b08..b42fa97f 100644 --- a/src/test/java/fr/xephi/authme/util/ExceptionUtilsTest.java +++ b/src/test/java/fr/xephi/authme/util/ExceptionUtilsTest.java @@ -40,10 +40,10 @@ public class ExceptionUtilsTest { @Test public void shouldHandleCircularCausesGracefully() { // given - IllegalStateException ise = new IllegalStateException(); - UnsupportedOperationException uoe = new UnsupportedOperationException(ise); + ExceptionWithSettableCause exceptionWithSettableCause = new ExceptionWithSettableCause(); + UnsupportedOperationException uoe = new UnsupportedOperationException(exceptionWithSettableCause); ReflectiveOperationException roe = new ReflectiveOperationException(uoe); - ReflectionTestUtils.setField(Throwable.class, ise, "cause", roe); + exceptionWithSettableCause.cause = roe; // when NullPointerException resultNpe = ExceptionUtils.findThrowableInCause(NullPointerException.class, uoe); @@ -65,4 +65,14 @@ public class ExceptionUtilsTest { // then assertThat(result, equalTo("[MalformedURLException]: Unrecognized URL format")); } + + private static final class ExceptionWithSettableCause extends Exception { + + Exception cause; + + @Override + public synchronized Throwable getCause() { + return cause; + } + } }