001 package org.apache.commons.inject.util;
002
003 import static org.junit.Assert.*;
004
005 import java.lang.reflect.UndeclaredThrowableException;
006
007 import org.junit.Assert;
008 import org.junit.Test;
009
010 public class ExceptionsTest {
011 @Test
012 public void testShowRTE() {
013 final NullPointerException npe = new NullPointerException();
014 Throwable th = null;
015 try {
016 throw Exceptions.show(npe);
017 } catch (Throwable t) {
018 th = t;
019 }
020 Assert.assertNotNull(th);
021 Assert.assertSame(npe, th);
022 }
023
024 @Test
025 public void testShowError() {
026 final OutOfMemoryError oome = new OutOfMemoryError();
027 Throwable th = null;
028 try {
029 throw Exceptions.show(oome);
030 } catch (Throwable t) {
031 th = t;
032 }
033 Assert.assertNotNull(th);
034 Assert.assertSame(oome, th);
035 }
036
037 @Test
038 public void testShowThrowable() {
039 final Throwable t0 = new Throwable("Some throwable"){
040 };
041 Throwable th = null;
042 try {
043 throw Exceptions.show(t0);
044 } catch (UndeclaredThrowableException ute) {
045 th = ute.getCause();
046 }
047 Assert.assertNotNull(th);
048 Assert.assertSame(t0, th); }
049
050 }