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 org.apache.maven.doxia.linkcheck.model.LinkcheckFile;
23 import org.apache.maven.doxia.linkcheck.model.LinkcheckModel;
24 import org.codehaus.plexus.PlexusTestCase;
25
26 import java.io.File;
27 import java.util.HashMap;
28 import java.util.Iterator;
29 import java.util.Map;
30
31
32
33
34
35
36 public class AnchorLinkTest
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/anchorTest" ) );
51
52 lc.setReportOutput( new File( getBasedir(), "target/linkcheck/anchorTest/linkcheck.xml" ) );
53
54 lc.setReportOutputEncoding( "UTF-8" );
55
56 lc.setLinkCheckCache( new File( getBasedir(), "target/linkcheck/anchorTest/linkcheck.cache" ) );
57
58 String[] excludes = new String[]
59 {
60 "http://cvs.apache.org/viewcvs.cgi/maven-pluginszz/",
61 "http://cvs.apache.org/viewcvs.cgi/mavenzz/"
62 };
63
64 lc.setExcludedLinks( excludes );
65
66 LinkcheckModel result = lc.execute();
67
68 Iterator iter = result.getFiles().iterator();
69
70 Map map = new HashMap();
71
72 while ( iter.hasNext() )
73 {
74 LinkcheckFile ftc = (LinkcheckFile) iter.next();
75 map.put( ftc.getRelativePath(), ftc );
76 }
77
78 assertEquals( "files.size()", 1, result.getFiles().size() );
79
80 LinkcheckFile ftc = check( map, "testAnchor.html", 1 );
81
82
83
84 assertEquals( "Should have matched!", 1, ftc.getSuccessful() );
85 assertEquals( "Should have no failures!", 0, ftc.getUnsuccessful() );
86 }
87
88 private LinkcheckFile check( Map map, String name, int linkCount )
89 {
90 LinkcheckFile ftc = (LinkcheckFile) map.get( name );
91
92 assertNotNull( name + " = null!", ftc );
93
94 assertEquals( name + ".getResults().size()", linkCount, ftc.getResults().size() );
95
96 return ftc;
97 }
98 }