package hoptoad; import static org.junit.Assert.*; import org.junit.*; public class BacktraceLineTest { @Test public void testBacktraceLineFromString() { BacktraceLine backtraceLine = new BacktraceLine("at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)"); assertEquals("org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference", backtraceLine.className()); assertEquals("run", backtraceLine.methodName()); assertEquals(46, backtraceLine.lineNumber()); assertEquals("JUnit4TestReference.java", backtraceLine.fileName()); } @Test public void testBacktraceLineToString() { BacktraceLine backtraceLine = new BacktraceLine("org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference", "JUnit4TestReference.java", 46, "run"); assertEquals("at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)", backtraceLine.toString()); } @Test public void testBacktraceLineToXml() { BacktraceLine backtraceLine = new BacktraceLine("org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference", "JUnit4TestReference.java", 46, "run"); assertEquals("<line method=\"org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run\" file=\"JUnit4TestReference.java\" number=\"46\"/>", backtraceLine.toXml()); } @Test public void testEscapeSpecialCharsInXml() { BacktraceLine backtraceLine = new BacktraceLine("at com.company.Foo$$FastClassByCGLIB$$b505b4f2.invoke(<generated'\">:-1)"); assertEquals("<line method=\"com.company.Foo$$FastClassByCGLIB$$b505b4f2.invoke\" file=\"<generated'">\" number=\"-1\"/>", backtraceLine.toXml()); } }