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.HtmlElement;
23 import com.gargoylesoftware.htmlunit.html.HtmlLink;
24 import com.gargoylesoftware.htmlunit.html.HtmlMeta;
25 import com.gargoylesoftware.htmlunit.html.HtmlPage;
26 import com.gargoylesoftware.htmlunit.html.HtmlStyle;
27 import com.gargoylesoftware.htmlunit.html.HtmlTitle;
28
29 import java.text.SimpleDateFormat;
30 import java.util.ArrayList;
31 import java.util.Date;
32 import java.util.Iterator;
33 import java.util.List;
34
35
36
37
38
39
40
41 public class HeadVerifier
42 extends AbstractVerifier
43 {
44
45
46 public void verify( String file )
47 throws Exception
48 {
49 HtmlPage page = htmlPage( file );
50 assertNotNull( page );
51
52 HtmlElement html = page.getDocumentHtmlElement();
53 assertNotNull( html );
54
55 List tagNames = new ArrayList();
56 tagNames.add( "head" );
57 List heads = html.getHtmlElementsByTagNames( tagNames );
58 assertEquals( 1, heads.size() );
59 HtmlElement head = (HtmlElement) heads.get( 0 );
60 assertNotNull( head );
61
62 Iterator elementIterator = head.getAllHtmlChildElements();
63
64
65
66
67
68 HtmlMeta meta = (HtmlMeta) elementIterator.next();
69 assertEquals( meta.getAttributeValue( "http-equiv" ), "Content-Type" );
70 assertEquals( meta.getAttributeValue( "content" ), "text/html; charset=UTF-8" );
71
72 HtmlTitle title = (HtmlTitle) elementIterator.next();
73 assertNotNull( title );
74
75 HtmlStyle style = (HtmlStyle) elementIterator.next();
76 assertNotNull( style );
77
78 HtmlLink link = (HtmlLink) elementIterator.next();
79 assertNotNull( link );
80
81 meta = (HtmlMeta) elementIterator.next();
82 assertEquals( meta.getAttributeValue( "name" ), "author" );
83 assertEquals( meta.getAttributeValue( "content" ).trim(), "John Doe" );
84
85 meta = (HtmlMeta) elementIterator.next();
86 assertEquals( meta.getAttributeValue( "name" ), "Date-Revision-yyyymmdd" );
87 assertEquals( meta.getAttributeValue( "content" ), new SimpleDateFormat( "yyyyMMdd" ).format( new Date() ) );
88
89 meta = (HtmlMeta) elementIterator.next();
90 assertEquals( meta.getAttributeValue( "http-equiv" ), "Content-Language" );
91 assertEquals( meta.getAttributeValue( "content" ), "en" );
92
93 meta = (HtmlMeta) elementIterator.next();
94 assertEquals( meta.getAttributeValue( "name" ), "description" );
95 assertEquals( meta.getAttributeValue( "content" ), "Free Web tutorials" );
96
97 meta = (HtmlMeta) elementIterator.next();
98 assertEquals( meta.getAttributeValue( "name" ), "keywords" );
99 assertEquals( meta.getAttributeValue( "content" ), "HTML,CSS,XML,JavaScript" );
100 }
101 }