1 package org.apache.maven.surefire.its;
2
3
4 import junit.framework.TestCase;
5 import org.apache.maven.it.Verifier;
6 import org.apache.maven.it.util.ResourceExtractor;
7 import org.apache.maven.plugins.surefire.report.ReportTestCase;
8 import org.apache.maven.plugins.surefire.report.ReportTestSuite;
9
10 import java.io.File;
11 import java.util.List;
12
13
14
15
16
17
18
19 public class Surefire224WellFormedXmlFailuresTest
20 extends TestCase
21 {
22 public void testWellFormedXmlFailures ()
23 throws Exception
24 {
25 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/surefire-224-wellFormedXmlFailures" );
26
27 Verifier verifier = new Verifier( testDir.getAbsolutePath() );
28 verifier.executeGoal( "test" );
29
30
31 verifier.resetStreams();
32
33 HelperAssertions.assertTestSuiteResults( 4, 0, 4, 0, testDir );
34
35 ReportTestSuite suite = (ReportTestSuite) HelperAssertions.extractReports( (new File[] { testDir }) ).get( 0 );
36 List testCases = suite.getTestCases();
37 assertEquals( "Wrong number of test case objects", 4, testCases.size() );
38 ReportTestCase current, testQuote = null, testLower = null, testGreater = null, testU0000 = null;
39 for ( int i = 0; i < testCases.size(); i++ )
40 {
41 current = (ReportTestCase) testCases.get( i );
42 if ( "testQuote".equals( current.getName() ) ) testQuote = current;
43 else if ( "testLower".equals( current.getName() ) ) testLower = current;
44 else if ( "testGreater".equals( current.getName() ) ) testGreater = current;
45 else if ( "testU0000".equals( current.getName() ) ) testU0000 = current;
46 }
47 assertEquals("Wrong error message", "\"", testQuote.getFailure().get( "message" ) );
48 assertEquals("Wrong error message", "<", testLower.getFailure().get( "message" ) );
49 assertEquals("Wrong error message", ">", testGreater.getFailure().get( "message" ) );
50
51 assertEquals("Wrong error message", "�", testU0000.getFailure().get( "message" ) );
52 }
53 }