package com.logentries.logback;
import ch.qos.logback.classic.spi.IThrowableProxy;
import ch.qos.logback.classic.spi.StackTraceElementProxy;
import junit.framework.Assert;
import org.junit.Test;
import org.mockito.Mockito;
public class ExceptionFormatterTest {
@Test
public void testTopLevelTrace() {
IThrowableProxy error = Mockito.mock(IThrowableProxy.class);
StackTraceElementProxy l1 = Mockito.mock(StackTraceElementProxy.class);
Mockito.stub(l1.getSTEAsString()).toReturn("trace level 1");
StackTraceElementProxy[] topLevel = new StackTraceElementProxy[] {l1};
Mockito.stub(error.getStackTraceElementProxyArray()).toReturn(topLevel);
Mockito.stub(error.getClassName()).toReturn("com.foo.SomeClass");
Mockito.stub(error.getMessage()).toReturn("err!");
String trace = ExceptionFormatter.formatException(error);
Assert.assertEquals(trace, "com.foo.SomeClass: err!" +
ExceptionFormatter.DELIMITER + ExceptionFormatter.TAB +
"trace level 1" + ExceptionFormatter.DELIMITER);
}
}