Add unit test to try to reproduce [JACKSON-888]
diff --git a/src/test/org/codehaus/jackson/map/deser/TestJdkTypes.java b/src/test/org/codehaus/jackson/map/deser/TestJdkTypes.java index 447a377..b83beb9 100644 --- a/src/test/org/codehaus/jackson/map/deser/TestJdkTypes.java +++ b/src/test/org/codehaus/jackson/map/deser/TestJdkTypes.java
@@ -219,7 +219,6 @@ // [JACKSON-597] public void testClass() throws IOException { - ObjectMapper mapper = new ObjectMapper(); assertSame(String.class, mapper.readValue(quote("java.lang.String"), Class.class)); // then primitive types @@ -325,4 +324,24 @@ Charset UTF8 = Charset.forName("UTF-8"); assertSame(UTF8, mapper.readValue(quote("UTF-8"), Charset.class)); } + + // [JACKSON-888] + public void testStackTraceElement() throws Exception + { + StackTraceElement elem = null; + try { + throw new IllegalStateException(); + } catch (Exception e) { + elem = e.getStackTrace()[0]; + } + String json = mapper.writeValueAsString(elem); + StackTraceElement back = mapper.readValue(json, StackTraceElement.class); + + assertEquals("testStackTraceElement", back.getMethodName()); + assertEquals(elem.getLineNumber(), back.getLineNumber()); + assertEquals(elem.getClassName(), back.getClassName()); + assertEquals(elem.isNativeMethod(), back.isNativeMethod()); + assertTrue(back.getClassName().endsWith("TestJdkTypes")); + assertFalse(back.isNativeMethod()); + } }