1 package org.apache.maven.doxia.linkcheck;
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.util.HashMap;
24 import java.util.Iterator;
25 import java.util.Map;
26
27 import org.apache.maven.doxia.linkcheck.model.LinkcheckFile;
28 import org.apache.maven.doxia.linkcheck.model.LinkcheckModel;
29 import org.codehaus.plexus.PlexusTestCase;
30
31
32
33
34
35
36 public class LinkCheckTest
37 extends PlexusTestCase
38 {
39
40
41
42 public void testScan()
43 throws Exception
44 {
45 LinkCheck lc = (LinkCheck) lookup( LinkCheck.ROLE );
46 assertNotNull( lc );
47
48 lc.setOnline( true );
49
50 lc.setBasedir( new File( getBasedir(), "src/test/resources" ) );
51
52 lc.setReportOutput( new File( getBasedir(), "target/linkcheck/linkcheck.xml" ) );
53
54 lc.setReportOutputEncoding( "UTF-8" );
55
56 lc.setLinkCheckCache( new File( getBasedir(), "target/linkcheck/linkcheck.cache" ) );
57
58 String[] excludes = new String[] {
59 "http://cvs.apache.org/viewcvs.cgi/maven-pluginszz/",
60 "http://cvs.apache.org/viewcvs.cgi/mavenzz/" };
61
62 lc.setExcludedLinks( excludes );
63
64 LinkcheckModel result = lc.execute();
65
66 Iterator iter = result.getFiles().iterator();
67
68 Map map = new HashMap();
69
70 while ( iter.hasNext() )
71 {
72 LinkcheckFile ftc = (LinkcheckFile) iter.next();
73 map.put( ftc.getRelativePath(), ftc );
74 }
75
76 assertEquals( "files.size()", 10, result.getFiles().size() );
77
78 check( map, "nolink.html", 0 );
79 check( map, "test-resources/nolink.html", 0 );
80 check( map, "test-resources/test1/test1.html", 2 );
81 check( map, "test-resources/test1/test2.html", 0 );
82 check( map, "test1/test1.html", 1 );
83 check( map, "testA.html", 3 );
84 check( map, "anchorTest/testAnchor.html", 1 );
85 check( map, "linkincomment.html", 1 );
86
87
88 String fileName = "testExcludes.html";
89 check( map, fileName, 2 );
90
91 LinkcheckFile ftc = (LinkcheckFile) map.get( fileName );
92 assertEquals( "Excluded links", 2, ftc.getSuccessful() );
93
94
95
96 check( map, "index-all.html", 805 );
97
98
99
100
101 }
102
103 private void check( Map map, String name, int linkCount )
104 {
105 LinkcheckFile ftc = (LinkcheckFile) map.get( name );
106
107 assertNotNull( name + " = null!", ftc );
108
109 assertEquals( name + ".getResults().size()", linkCount, ftc.getResults().size() );
110 }
111 }