use of com.gargoylesoftware.htmlunit.html.HtmlHeading3 in project maven-doxia-sitetools by apache.
the class AptVerifier method verify.
/**
* {@inheritDoc}
*/
public void verify(String file) throws Exception {
HtmlPage page = htmlPage(file);
assertNotNull(page);
HtmlElement element = page.getHtmlElementById("contentBox");
assertNotNull(element);
HtmlDivision division = (HtmlDivision) element;
assertNotNull(division);
Iterator<HtmlElement> elementIterator = division.getHtmlElementDescendants().iterator();
// ----------------------------------------------------------------------
//
// ----------------------------------------------------------------------
HtmlSection section = (HtmlSection) elementIterator.next();
HtmlHeading2 h2 = (HtmlHeading2) elementIterator.next();
assertNotNull(h2);
assertEquals("Links", h2.asText().trim());
HtmlAnchor a = (HtmlAnchor) elementIterator.next();
assertEquals("Links", a.getAttribute("name"));
HtmlParagraph p = (HtmlParagraph) elementIterator.next();
assertNotNull(p);
// Expected log: [APT Parser] Ambiguous link: 'cdc.html'. If this is a local link, prepend "./"!
a = (HtmlAnchor) elementIterator.next();
assertEquals("Anchor", a.getAttribute("name"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("cdc.html", a.getAttribute("name"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("#Anchor", a.getAttribute("href"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("#Anchor", a.getAttribute("href"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("Anchor_with_space", a.getAttribute("name"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("#Anchor_with_space", a.getAttribute("href"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("http://maven.apache.org/", a.getAttribute("href"));
assertEquals("externalLink", a.getAttribute("class"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("http://maven.apache.org/", a.getAttribute("href"));
assertEquals("externalLink", a.getAttribute("class"));
// Expected log: [APT Parser] Ambiguous link: 'cdc.html'. If this is a local link, prepend "./"!
a = (HtmlAnchor) elementIterator.next();
assertEquals("./cdc.html", a.getAttribute("href"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("#cdc.html", a.getAttribute("href"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("/index.html", a.getAttribute("href"));
section = (HtmlSection) elementIterator.next();
assertNotNull(section);
h2 = (HtmlHeading2) elementIterator.next();
assertNotNull(h2);
// Note: htmlunit strips the white space, actual result is ok
assertEquals("Section formatting: italic bold mono", h2.asText().trim());
a = (HtmlAnchor) elementIterator.next();
assertEquals("Section_formatting:_italic_bold_mono", a.getAttribute("name"));
HtmlItalic italic = (HtmlItalic) elementIterator.next();
assertEquals("i", italic.getTagName());
assertEquals("italic", italic.asText().trim());
HtmlBold bold = (HtmlBold) elementIterator.next();
assertEquals("b", bold.getTagName());
assertEquals("bold", bold.asText().trim());
HtmlCode code = (HtmlCode) elementIterator.next();
assertEquals("code", code.getTagName());
assertEquals("mono", code.asText().trim());
section = (HtmlSection) elementIterator.next();
assertNotNull(section);
HtmlHeading3 h3 = (HtmlHeading3) elementIterator.next();
assertNotNull(h3);
// Note: htmlunit strips the white space, actual result is ok
assertEquals("SubSection formatting: italic bold mono", h3.asText().trim());
a = (HtmlAnchor) elementIterator.next();
assertEquals("SubSection_formatting:_italic_bold_mono", a.getAttribute("name"));
italic = (HtmlItalic) elementIterator.next();
assertEquals("i", italic.getTagName());
assertEquals("italic", italic.asText().trim());
bold = (HtmlBold) elementIterator.next();
assertEquals("b", bold.getTagName());
assertEquals("bold", bold.asText().trim());
code = (HtmlCode) elementIterator.next();
assertEquals("code", code.getTagName());
assertEquals("mono", code.asText().trim());
p = (HtmlParagraph) elementIterator.next();
assertNotNull(p);
italic = (HtmlItalic) elementIterator.next();
assertEquals("i", italic.getTagName());
assertEquals("italic", italic.asText().trim());
bold = (HtmlBold) elementIterator.next();
assertEquals("b", bold.getTagName());
assertEquals("bold", bold.asText().trim());
code = (HtmlCode) elementIterator.next();
assertEquals("code", code.getTagName());
assertEquals("mono", code.asText().trim());
section = (HtmlSection) elementIterator.next();
assertNotNull(section);
h2 = (HtmlHeading2) elementIterator.next();
assertNotNull(h2);
assertEquals("No Default Anchor in Section Title with Explicit Anchor", h2.asText().trim());
a = (HtmlAnchor) elementIterator.next();
assertEquals("No_Default_Anchor_in_Section_Title_with_Explicit_Anchor", a.getAttribute("name"));
section = (HtmlSection) elementIterator.next();
assertNotNull(section);
}
use of com.gargoylesoftware.htmlunit.html.HtmlHeading3 in project maven-doxia-sitetools by apache.
the class AttributesVerifier method verify.
/**
* {@inheritDoc}
*/
public void verify(String file) throws Exception {
HtmlPage page = htmlPage(file);
assertNotNull(page);
HtmlElement element = page.getHtmlElementById("contentBox");
assertNotNull(element);
HtmlDivision division = (HtmlDivision) element;
assertNotNull(division);
Iterator<HtmlElement> elementIterator = division.getHtmlElementDescendants().iterator();
// ----------------------------------------------------------------------
//
// ----------------------------------------------------------------------
HtmlSection section = (HtmlSection) elementIterator.next();
HtmlHeading2 h2 = (HtmlHeading2) elementIterator.next();
assertNotNull(h2);
assertEquals("section", h2.asText().trim());
HtmlAnchor a = (HtmlAnchor) elementIterator.next();
assertNotNull(a);
assertEquals("section", a.getAttribute("name"));
HtmlParagraph p = (HtmlParagraph) elementIterator.next();
assertNotNull(p);
assertEquals("ID", p.getAttribute("id"));
assertEquals("CLASS", p.getAttribute("class"));
assertEquals("TITLE", p.getAttribute("title"));
assertEquals("STYLE", p.getAttribute("style"));
assertEquals("LANG", p.getAttribute("lang"));
HtmlImage img = (HtmlImage) elementIterator.next();
assertNotNull(img);
assertEquals("project.png", img.getAttribute("src"));
assertEquals("150", img.getAttribute("width"));
assertEquals("93", img.getAttribute("height"));
assertEquals("border: 1px solid silver", img.getAttribute("style"));
assertEquals("Project", img.getAttribute("alt"));
// test object identity to distinguish the case ATTRIBUTE_VALUE_EMPTY
assertSame(img.getAttribute("dummy"), HtmlElement.ATTRIBUTE_NOT_DEFINED);
HtmlTable table = (HtmlTable) elementIterator.next();
assertEquals("1", table.getAttribute("border"));
assertEquals("none", table.getAttribute("class"));
element = elementIterator.next();
// this is a htmlunit bug
assertEquals("tbody", element.getTagName());
HtmlTableRow tr = (HtmlTableRow) elementIterator.next();
HtmlTableHeaderCell th = (HtmlTableHeaderCell) elementIterator.next();
th = (HtmlTableHeaderCell) elementIterator.next();
assertEquals("center", th.getAttribute("align"));
assertEquals("2", th.getAttribute("colspan"));
assertEquals("50%", th.getAttribute("width"));
tr = (HtmlTableRow) elementIterator.next();
th = (HtmlTableHeaderCell) elementIterator.next();
assertEquals("2", th.getAttribute("rowspan"));
assertEquals("middle", th.getAttribute("valign"));
HtmlTableDataCell td = (HtmlTableDataCell) elementIterator.next();
td = (HtmlTableDataCell) elementIterator.next();
tr = (HtmlTableRow) elementIterator.next();
td = (HtmlTableDataCell) elementIterator.next();
td = (HtmlTableDataCell) elementIterator.next();
p = (HtmlParagraph) elementIterator.next();
assertNotNull(p);
HtmlUnderlined u = (HtmlUnderlined) elementIterator.next();
assertEquals("u", u.getTagName());
HtmlS s = (HtmlS) elementIterator.next();
assertEquals("s", s.getTagName());
HtmlSubscript sub = (HtmlSubscript) elementIterator.next();
assertEquals("sub", sub.getTagName());
HtmlSuperscript sup = (HtmlSuperscript) elementIterator.next();
assertEquals("sup", sup.getTagName());
p = (HtmlParagraph) elementIterator.next();
assertNotNull(p);
HtmlBold b = (HtmlBold) elementIterator.next();
assertEquals("b", b.getTagName());
HtmlItalic i = (HtmlItalic) elementIterator.next();
assertEquals("i", i.getTagName());
i = (HtmlItalic) elementIterator.next();
assertEquals("i", i.getTagName());
b = (HtmlBold) elementIterator.next();
assertEquals("b", b.getTagName());
p = (HtmlParagraph) elementIterator.next();
assertNotNull(p);
assertEquals("color: red; margin-left: 20px", p.getAttribute("style"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("Anchor", a.getAttribute("name"));
p = (HtmlParagraph) elementIterator.next();
assertNotNull(p);
a = (HtmlAnchor) elementIterator.next();
assertEquals("#Anchor", a.getAttribute("href"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("#Anchor", a.getAttribute("href"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("http://maven.apache.org/", a.getAttribute("href"));
assertEquals("externalLink", a.getAttribute("class"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("./cdc.html", a.getAttribute("href"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("cdc.html", a.getAttribute("href"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("cdc.pdf", a.getAttribute("href"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("./cdc.txt", a.getAttribute("href"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("/index.html", a.getAttribute("href"));
HtmlDivision div = (HtmlDivision) elementIterator.next();
assertEquals("source", div.getAttribute("class"));
HtmlPreformattedText pre = (HtmlPreformattedText) elementIterator.next();
assertEquals("pretty", pre.getAttribute("class"));
div = (HtmlDivision) elementIterator.next();
assertEquals("source", div.getAttribute("class"));
assertEquals("", div.getAttribute("id"));
pre = (HtmlPreformattedText) elementIterator.next();
assertEquals("pretty", pre.getAttribute("id"));
section = (HtmlSection) elementIterator.next();
h2 = (HtmlHeading2) elementIterator.next();
assertEquals("Section without id", h2.asText().trim());
a = (HtmlAnchor) elementIterator.next();
assertEquals("Section_without_id", a.getAttribute("name"));
section = (HtmlSection) elementIterator.next();
HtmlHeading3 h3 = (HtmlHeading3) elementIterator.next();
assertEquals("Subsection without id", h3.asText().trim());
a = (HtmlAnchor) elementIterator.next();
assertEquals("Subsection_without_id", a.getAttribute("name"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("section-id", a.getAttribute("name"));
section = (HtmlSection) elementIterator.next();
h2 = (HtmlHeading2) elementIterator.next();
assertEquals("Section with id", h2.asText().trim());
a = (HtmlAnchor) elementIterator.next();
assertEquals("Section_with_id", a.getAttribute("name"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("subsection-id", a.getAttribute("name"));
section = (HtmlSection) elementIterator.next();
h3 = (HtmlHeading3) elementIterator.next();
assertEquals("Subsection with id", h3.asText().trim());
a = (HtmlAnchor) elementIterator.next();
assertEquals("Subsection_with_id", a.getAttribute("name"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("foo", a.getAttribute("name"));
section = (HtmlSection) elementIterator.next();
assertEquals("bar", section.getAttribute("class"));
assertEquals("foo", section.getAttribute("id"));
h2 = (HtmlHeading2) elementIterator.next();
assertEquals("Section name", h2.asText().trim());
assertEquals("", h2.getAttribute("class"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("Section_name", a.getAttribute("name"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("subfoo", a.getAttribute("name"));
section = (HtmlSection) elementIterator.next();
assertEquals("subbar", section.getAttribute("class"));
assertEquals("subfoo", section.getAttribute("id"));
h3 = (HtmlHeading3) elementIterator.next();
assertEquals("Subsection name", h3.asText().trim());
assertEquals("", h3.getAttribute("class"));
a = (HtmlAnchor) elementIterator.next();
assertEquals("Subsection_name", a.getAttribute("name"));
assertFalse(elementIterator.hasNext());
}
use of com.gargoylesoftware.htmlunit.html.HtmlHeading3 in project maven-doxia-sitetools by apache.
the class EntitiesVerifier method verify.
/**
* {@inheritDoc}
*/
public void verify(String file) throws Exception {
HtmlPage page = htmlPage(file);
assertNotNull(page);
HtmlMeta author = (HtmlMeta) page.getElementsByName("author").get(0);
assertNotNull(author);
assertTrue(author.toString().indexOf("Ligature \u00C6") > 0);
assertEquals("Ligature \u00C6", author.getContentAttribute());
author = (HtmlMeta) page.getElementsByName("author").get(1);
assertNotNull(author);
assertTrue(author.toString().indexOf("Ampersand &") > 0);
assertEquals("Ampersand &", author.getContentAttribute());
author = (HtmlMeta) page.getElementsByName("author").get(2);
assertNotNull(author);
assertTrue(author.toString().indexOf("Less than <") > 0);
assertEquals("Less than <", author.getContentAttribute());
author = (HtmlMeta) page.getElementsByName("author").get(3);
assertNotNull(author);
assertTrue(author.toString().indexOf("Greater than >") > 0);
assertEquals("Greater than >", author.getContentAttribute());
author = (HtmlMeta) page.getElementsByName("author").get(4);
assertNotNull(author);
assertEquals("Apostrophe '", author.getContentAttribute());
author = (HtmlMeta) page.getElementsByName("author").get(5);
assertNotNull(author);
assertTrue(author.toString().indexOf("Quote "") > 0);
assertEquals("Quote \"", author.getContentAttribute());
author = (HtmlMeta) page.getElementsByName("author").get(6);
assertNotNull(author);
assertTrue(author.toString().indexOf("test@email.com") > 0);
assertEquals("test@email.com", author.getContentAttribute());
author = (HtmlMeta) page.getElementsByName("author").get(7);
assertNotNull(author);
assertTrue(author.toString().indexOf("test\u00A9email.com") > 0);
assertEquals("test\u00A9email.com", author.getContentAttribute());
HtmlElement element = page.getHtmlElementById("contentBox");
assertNotNull(element);
HtmlDivision division = (HtmlDivision) element;
assertNotNull(division);
Iterator<HtmlElement> elementIterator = division.getHtmlElementDescendants().iterator();
// ----------------------------------------------------------------------
//
// ----------------------------------------------------------------------
HtmlSection section = (HtmlSection) elementIterator.next();
HtmlHeading2 h2 = (HtmlHeading2) elementIterator.next();
assertNotNull(h2);
assertEquals(h2.asText().trim(), "section name with entities: '&' '\u0391' ' ' '\uD835\uDFED'");
HtmlAnchor a = (HtmlAnchor) elementIterator.next();
assertNotNull(a);
assertEquals("section_name_with_entities:_.27.26.27_.27.CE.91.27_.27.C2.A0.27_.27.3F.3F.27", a.getAttribute("name"));
section = (HtmlSection) elementIterator.next();
assertNotNull(section);
section = (HtmlSection) elementIterator.next();
assertNotNull(section);
HtmlHeading4 h4 = (HtmlHeading4) elementIterator.next();
assertNotNull(h4);
assertEquals("Entities", h4.asText().trim());
a = (HtmlAnchor) elementIterator.next();
assertNotNull(a);
assertEquals("Entities", a.getAttribute("name"));
section = (HtmlSection) elementIterator.next();
assertNotNull(section);
HtmlHeading3 h3 = (HtmlHeading3) elementIterator.next();
assertNotNull(h3);
assertEquals("Generic Entities: '&' '<' '>' '\"' '''", h3.asText().trim());
a = (HtmlAnchor) elementIterator.next();
HtmlParagraph p = (HtmlParagraph) elementIterator.next();
assertNotNull(p);
assertEquals("'&' '<' '>' '\"' '''", p.asText().trim());
section = (HtmlSection) elementIterator.next();
assertNotNull(section);
h3 = (HtmlHeading3) elementIterator.next();
assertNotNull(h3);
assertEquals("Local Entities: '\u0391' '\u0392' '\u0393' '\uD835\uDFED'", h3.asText().trim());
a = (HtmlAnchor) elementIterator.next();
p = (HtmlParagraph) elementIterator.next();
assertNotNull(p);
assertEquals("'\u0391' '\u0392' '\u0393' '\uD835\uDFED\uD835\uDFED' '\u0159\u0159' '\u0159'", p.asText().trim());
section = (HtmlSection) elementIterator.next();
assertNotNull(section);
h3 = (HtmlHeading3) elementIterator.next();
assertNotNull(h3);
assertEquals("DTD Entities: ' ' '\u00A1' '\u00A2'", h3.asText().trim());
a = (HtmlAnchor) elementIterator.next();
p = (HtmlParagraph) elementIterator.next();
assertNotNull(p);
assertEquals("' ' '\u00A1' '\u00A2'", p.asText().trim());
section = (HtmlSection) elementIterator.next();
assertNotNull(section);
h4 = (HtmlHeading4) elementIterator.next();
assertNotNull(h4);
assertEquals("CDATA", h4.asText().trim());
a = (HtmlAnchor) elementIterator.next();
assertNotNull(a);
assertEquals("CDATA", a.getAttribute("name"));
HtmlDivision div = (HtmlDivision) elementIterator.next();
assertNotNull(div);
HtmlPreformattedText pre = (HtmlPreformattedText) elementIterator.next();
assertNotNull(pre);
assertEquals("<project xmlns:ant=\"jelly:ant\">", pre.asText().trim());
p = (HtmlParagraph) elementIterator.next();
assertNotNull(p);
assertEquals("' ' '¡'", p.asText().trim());
assertFalse(elementIterator.hasNext());
}
Aggregations