1 package org.apache.maven.plugin.jira;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.File;
23 import java.io.InputStream;
24
25 import org.apache.commons.io.FileUtils;
26 import org.apache.commons.io.IOUtils;
27 import org.apache.maven.plugin.testing.AbstractMojoTestCase;
28
29
30
31
32 public class JiraUnicodeTestCase
33 extends AbstractMojoTestCase
34 {
35
36
37
38
39 private final static String TEST_TURTLES = "海龟一路下跌。";
40
41 public void testUnicodeReport()
42 throws Exception
43 {
44
45 File pom = new File( getBasedir(), "/src/test/unit/jira-plugin-config.xml" );
46 assertNotNull( pom );
47 assertTrue( pom.exists() );
48
49 JiraMojo mojo = (JiraMojo) lookupMojo( "jira-report", pom );
50 InputStream testJiraXmlStream = JiraUnicodeTestCase.class.getResourceAsStream( "unicode-jira-results.xml" );
51 String jiraXml = null;
52 try {
53 jiraXml = IOUtils.toString(testJiraXmlStream, "utf-8");
54 } finally {
55 testJiraXmlStream.close();
56 }
57
58 MockJiraDownloader mockDownloader = new MockJiraDownloader();
59 mockDownloader.setJiraXml( jiraXml );
60 mojo.setMockDownloader( mockDownloader );
61 File outputDir = new File( "target/jira-test-output" );
62 outputDir.mkdirs();
63 mojo.setReportOutputDirectory( outputDir );
64 mojo.execute();
65 String reportHtml = FileUtils.readFileToString( new File( outputDir, "jira-report.html" ), "utf-8" );
66 int turtleIndex = reportHtml.indexOf( TEST_TURTLES );
67 assertTrue( turtleIndex >= 0 );
68 }
69
70 }