@Test
public final void testDoEncodeChildren() throws IOException {

    HtmlPage page = environment.getPage("/extendedDataTableTest.jsf");
    HtmlElement table = page.getElementById("table");
    String text = table.getElementsByTagName("style").get(0).getTextContent();
    assertTrue(text.contains(".rf-edt-cnt"));
    assertTrue(text.contains("rf-edt-c"));
    HtmlElement header = table.getFirstByXPath("div[@class='rf-edt-hdr']");
    HtmlElement frozenHeader = header.getElementById("table:frozenHeader");
    HtmlElement normalHeader = header.getElementById("table:header");
    assertTrue(normalHeader.getAttribute("class").contains("rf-edt-cnt"));
    assertNotNull(frozenHeader.getFirstByXPath("descendant::*[@class='rf-edt-rsz']"));
    assertNotNull(normalHeader.getFirstByXPath("descendant::*[@class='rf-edt-rsz']"));
    assertEquals("headerColumnFacet1",
        ((HtmlElement) frozenHeader.getFirstByXPath("//*[@class='rf-edt-hdr-c-cnt']//*[@id='table:headerColumnFacet1']"))
            .getTextContent());
    assertEquals("headerColumnFacet2",
        ((HtmlElement) normalHeader.getFirstByXPath("//*[@class='rf-edt-hdr-c-cnt']//*[@id='table:headerColumnFacet2']"))
            .getTextContent());
    HtmlElement body = table.getElementById("table:b");
    assertEquals("rf-edt-b", body.getAttribute("class"));
    assertNotNull(body.getFirstByXPath("descendant::*[@class='rf-edt-spcr']"));
    assertNotNull(body.getFirstByXPath("descendant::*[@class='rf-edt-cnt']//*[@id='table:tbn']"));
    assertEquals("noDataFacet",
        ((HtmlElement) page.getFirstByXPath("//*[@id='table2']//*[@id='table2:b']//*[@id='table2:noDataFacet']"))
            .getTextContent());
    HtmlElement footer = table.getFirstByXPath("div[@class='rf-edt-ftr']");
    HtmlElement frozenFooter = footer.getFirstByXPath("descendant::*[@class='rf-edt-ftr-fzn']/div");
    HtmlElement normalFooter = footer.getElementById("table:footer");
    assertTrue(normalFooter.getAttribute("class").contains("rf-edt-ftr-cnt"));
    assertEquals("footerColumnFacet1",
        ((HtmlElement) frozenFooter
            .getFirstByXPath("descendant::*[@class='rf-edt-ftr-c-cnt']//*[@id='table:footerColumnFacet1']"))
            .getTextContent());
    assertEquals("footerColumnFacet2",
        ((HtmlElement) normalFooter
            .getFirstByXPath("descendant::*[@class='rf-edt-ftr-c-cnt']//*[@id='table:footerColumnFacet2']"))
            .getTextContent());
}