1 package org.apache.maven.doxia.siterenderer;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import com.gargoylesoftware.htmlunit.html.HtmlBase;
23 import com.gargoylesoftware.htmlunit.html.HtmlElement;
24 import com.gargoylesoftware.htmlunit.html.HtmlLink;
25 import com.gargoylesoftware.htmlunit.html.HtmlMeta;
26 import com.gargoylesoftware.htmlunit.html.HtmlPage;
27 import com.gargoylesoftware.htmlunit.html.HtmlStyle;
28 import com.gargoylesoftware.htmlunit.html.HtmlTitle;
29
30 import java.util.Iterator;
31 import java.util.List;
32
33
34
35
36
37
38 public class HeadVerifier
39 extends AbstractVerifier
40 {
41
42
43 public void verify( String file )
44 throws Exception
45 {
46 HtmlPage page = htmlPage( file );
47 assertNotNull( page );
48
49 HtmlElement html = page.getDocumentElement();
50 assertNotNull( html );
51
52 assertEquals( "en", html.getAttribute( "lang" ) );
53
54 List<HtmlElement> heads = html.getElementsByTagName( "head" );
55 assertEquals( 1, heads.size() );
56 HtmlElement head = heads.get( 0 );
57 assertNotNull( head );
58
59 Iterator<HtmlElement> elementIterator = head.getHtmlElementDescendants().iterator();
60
61
62
63
64
65 HtmlMeta meta = (HtmlMeta) elementIterator.next();
66 assertEquals( "UTF-8", meta.getAttribute( "charset" ) );
67
68
69 elementIterator.next();
70
71 meta = (HtmlMeta) elementIterator.next();
72 assertEquals( "Unexpected meta entry found generated resource " + file, "generator", meta.getAttribute( "name" ) );
73 String generator = meta.getAttribute("content");
74 assertEquals("Unexpected value found for generator meta entry in generated resource " + file, "Apache Maven Doxia Site Renderer", generator);
75
76 meta = (HtmlMeta) elementIterator.next();
77 assertEquals( "author", meta.getAttribute( "name" ) );
78 assertEquals( "John Doe", meta.getAttribute( "content" ).trim() );
79
80 HtmlTitle title = (HtmlTitle) elementIterator.next();
81 assertNotNull( title );
82
83 HtmlLink link = (HtmlLink) elementIterator.next();
84 assertNotNull( link );
85 link = (HtmlLink) elementIterator.next();
86 assertNotNull( link );
87 link = (HtmlLink) elementIterator.next();
88 assertNotNull( link );
89 link = (HtmlLink) elementIterator.next();
90 assertNotNull( link );
91
92 meta = (HtmlMeta) elementIterator.next();
93 assertEquals( "description", meta.getAttribute( "name" ) );
94 assertEquals( "Free Web tutorials", meta.getAttribute( "content" ) );
95
96 meta = (HtmlMeta) elementIterator.next();
97 assertEquals( "keywords", meta.getAttribute( "name" ) );
98 assertEquals( "HTML,CSS,XML,JavaScript", meta.getAttribute( "content" ) );
99
100 HtmlBase base = (HtmlBase) elementIterator.next();
101 assertEquals( "http://maven.apache.org/", base.getAttribute( "href" ) );
102 }
103 }