1 package org.apache.maven.surefire.report;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import junit.framework.TestCase;
23
24 public class PojoStackTraceWriterTest
25 extends TestCase
26 {
27
28 public void testTrimmedThrowableReal()
29 {
30 PojoStackTraceWriter w =
31 new PojoStackTraceWriter( ATestClass.AnotherTestClass.class.getName(), "testQuote", getAThrowAble() );
32 String out = w.writeTrimmedTraceToString();
33 String expected =
34 "org.apache.maven.surefire.report.PojoStackTraceWriterTest$ATestClass$AnotherTestClass.getAThrowable(PojoStackTraceWriterTest.java";
35 assertTrue( out.contains( expected ) );
36
37 }
38
39 public void testMultiLineMessage()
40 {
41 String msg =
42 "assert \"foo\" == \"bar\"\n"
43 + " |\n"
44 + " false";
45 try
46 {
47 throw new RuntimeException( msg );
48 }
49 catch ( Throwable t )
50 {
51 PojoStackTraceWriter writer = new PojoStackTraceWriter( null, null, t );
52 String stackTrace = writer.writeTraceToString();
53 assertTrue( stackTrace.startsWith( "java.lang.RuntimeException: \n" + msg ) );
54 }
55 }
56
57 static class ATestClass
58 {
59 static class AnotherTestClass
60 {
61 public static Throwable getAThrowable()
62 {
63 try
64 {
65 throw new Exception( "Hey ho, hey ho, a throwable we throw!" );
66 }
67 catch ( Exception e )
68 {
69 return e;
70 }
71 }
72 }
73 }
74
75 private Throwable getAThrowAble()
76 {
77 return ATestClass.AnotherTestClass.getAThrowable();
78 }
79
80 }