TableInspector table = dataTable("formID:mixedHeadersTable");
assertEquals("Checking the number of columns", 9, table.getColumnCount());
TableSectionInspector header = table.header();
assertEquals("Checking the number of header rows", 4, header.rowCount());
header.row(0).assertCellParams(new TableCellParams[]{
new TableCellParams("Common Header", 9, 1, "border-bottom: 2px solid gray")
});
header.row(1).assertCellParams(new TableCellParams[]{
new TableCellParams("", 1, 2, "border-right: 2px solid gray; border-bottom: 1px solid #a0a0a0"),
new TableCellParams("String Field 1", 1, 2, "border-right: 2px solid gray; border-bottom: 1px solid #a0a0a0"),
new TableCellParams(NBSP_CHAR, 1, 2, "border-right: 2px solid gray; border-bottom: 1px solid #a0a0a0"),
new TableCellParams("String Fields", 5, 1, "border-right: 1px solid orange; border-bottom: ? none ?"),
new TableCellParams("Int Field 3 (header only)", 1, 2, "border-right: ? none ?; border-bottom: 1px solid #a0a0a0")
});
header.row(2).assertCellParams(new TableCellParams[]{
new TableCellParams("String Field 3", 1, 1, "border-right: ? none ?; border-bottom: 1px solid #a0a0a0"),
new TableCellParams("Int Field 1", 1, 1, "border-right: ? none ?; border-bottom: 1px solid #a0a0a0"),
new TableCellParams("", 1, 1, "border-right: ? none ?; border-bottom: 1px solid #a0a0a0"),
new TableCellParams(NBSP_CHAR, 1, 1, "border-right: ? none ?; border-bottom: 1px solid #a0a0a0"),
new TableCellParams(NBSP_CHAR, 1, 1, "border-right: 1px solid orange; border-bottom: 1px solid #a0a0a0"),
});
header.row(3).assertCellStyles("border-bottom: 2px solid gray");
for (int i = 1; i <= 2; i++)
header.row(i).assertStyle("color: OrangeRed; font-weight: bold; font-family: Tahoma,Arial; font-size: 19px;");
TableSectionInspector body = table.body();
assertEquals("Checking the number of body rows", 10, body.rowCount());
body.assertColumnCellStyles(new String[]{
"border-right: 2px solid silver",
"border-right: 2px solid silver",
"border-right: 2px solid silver",
"border-right: ? none ?",
"border-right: ? none ?",
"border-right: ? none ?",
"border-right: ? none ?",
"border-right: 1px solid silver",
"border-right: ? none ?",
});
TableSectionInspector footer = table.footer();
assertEquals("Checking the number of footer rows", 4, footer.rowCount());
footer.row(0).assertCellStyles("border-top: 2px solid gray");
footer.row(0).assertCellParams(new TableCellParams[]{
new TableCellParams(NBSP_CHAR, 1, 3, "border-right: 2px solid gray"),
new TableCellParams("String Field 1 (footer)", 1, 3, "border-right: 2px solid gray"),
new TableCellParams("String Field 2 (footer only)", 1, 3, "border-right: 2px solid gray"),
new TableCellParams("String Field 3 (footer)", 1, 1, "border-right: ? none ?"),
new TableCellParams("Int Field 1 (footer)", 1, 1, "border-right: ? none ?"),
new TableCellParams("", 1, 1, "border-right: ? none ?"),
new TableCellParams(NBSP_CHAR, 1, 1, "border-right: ? none ?"),
new TableCellParams(NBSP_CHAR, 1, 1, "border-right: 1px solid DarkBlue"),
new TableCellParams(NBSP_CHAR, 1, 2, "border-right: ? none ?")
});
footer.row(1).assertCellParams(new TableCellParams[]{
new TableCellParams("String Fields (footer)", 5, 1)
});
footer.row(2).assertCellParams(new TableCellParams[]{
new TableCellParams("3-rd level footer", 6, 1, "border-top: 1px solid DarkBlue")
});
footer.row(3).assertCellParams(new TableCellParams[]{
new TableCellParams("Common Footer", 9, 1, "border-top: 2px solid gray")
});
for (int i = 0; i <= 2; i++)
footer.row(i).assertStyle("color: DarkBlue; font-weight: bold; font-family: Tahoma,Arial; font-size: 19px;");
}