blob: 2ed27861a0970704ff6dee132ee5229525ea513f [file] [log] [blame]
package com.fasterxml.jackson.databind.exc;
import com.fasterxml.jackson.annotation.*;
import com.fasterxml.jackson.databind.*;
// for [databind#1794]
public class StackTraceElementTest extends BaseMapTest
{
public static class ErrorObject {
public String throwable;
public String message;
// @JsonDeserialize(contentUsing = StackTraceElementDeserializer.class)
public StackTraceElement[] stackTrace;
ErrorObject() {}
public ErrorObject(Throwable throwable) {
this.throwable = throwable.getClass().getName();
message = throwable.getMessage();
stackTrace = throwable.getStackTrace();
}
}
// for [databind#1794] where extra `declaringClass` is serialized from private field.
public void testCustomStackTraceDeser() throws Exception
{
ObjectMapper mapper = newObjectMapper();
mapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);
String json = mapper
.writerWithDefaultPrettyPrinter()
.writeValueAsString(new ErrorObject(new Exception("exception message")));
ErrorObject result = mapper.readValue(json, ErrorObject.class);
assertNotNull(result);
}
}