public TableElement add(RowElement... rows) { for (RowElement row : rows) { add(row); } return this; }
public TableElement row(boolean header, Element... cols) { return add(new RowElement(header).add(cols)); }
public TableElement row(boolean header, String... cols) { return add(new RowElement(header).add(cols)); }
public void testNullLabelInTable() { TableElement tableElement = new TableElement(); tableElement.add(new RowElement().add(new LabelElement("a\nb"))); assertNoRender(tableElement, 1, 1); } }
public void testRowLayout() { TableElement table = new TableElement(); table.add(new RowElement().add(new LabelElement("foo"))); table.add(new RowElement().add(new LabelElement("bar"))); // assertRender(table, 3, 2, "foo", "bar"); assertRender(table, 3, 1, "foo"); assertRender(table, 2, 4, "fo", "o ", "ba", "r "); assertRender(table, 2, 3, "fo", "o ", " "); }
public void testTooLarge() throws Exception { TableElement tableElement = new TableElement(); tableElement. add(row(). add(label("a")). add(label("This text is very ver very too large to be displayed in a cell of 32"))). add(row(). add(label("c")). add(label("d"))); assertRender(tableElement, 27, "aThis text is very ver very", " too large to be displayed", " in a cell of 32 ", "cd " ); }
public void testRowLayoutWithHeader() { TableElement table = new TableElement(); table.add(new RowElement(true).add(new LabelElement("foo"))); table.add(new RowElement().add(new LabelElement("bar"))); // assertRender(table, 3, 3, "foo", "---", "bar"); assertRender(table, 3, 2, "foo", " "); assertNoRender(table, 3, 1); // assertRender(table, 2, 5, "fo", "o ", "--", "ba", "r "); assertRender(table, 2, 4, "fo", "o ", " ", " "); assertRender(table, 2, 3, "fo", "o ", " "); }
public void testNoBorderHeaderTopBottom() throws Exception { TableElement tableElement = new TableElement(); tableElement.border(null); tableElement. add(header(). add(label("a")). add(label("b"))). add(row(). add(label("c")). add(label("d"))). add(row(). add(label("e")). add(label("f"))); assertRender(tableElement, 3, "ab ", "-- ", "cd ", "ef "); }
public void testRowLayoutWithBorder() { TableElement table = new TableElement().border(BorderStyle.DASHED); table.add(new RowElement().add(new LabelElement("foo"))); table.add(new RowElement().add(new LabelElement("bar"))); // assertRender(table, 5, 4, " --- ", "|foo|", "|bar|", " --- "); assertRender(table, 5, 3, " --- ", "|foo|", " --- "); assertNoRender(table, 5, 2); // assertRender(table, 4, 6, " -- ", "|fo|", "|o |", "|ba|", "|r |", " -- "); assertRender(table, 4, 5, " -- ", "|fo|", "|o |", "| |", " -- "); assertRender(table, 4, 4, " -- ", "|fo|", "|o |", " -- "); }
public void testCosmetic() throws Exception { TableElement table = new TableElement(); table.withColumnLayout(Layout.flow()); RowElement row = new RowElement().add(new LabelElement("foo", 5), new LabelElement("This text is larger to be displayed in a cell of 32", 5)); table.add(row); assertRender(table, 32, "fooThis text is larger to be dis", " played in a cell of 32 "); }
public void testRowLayoutWithHeaderBorder() { TableElement table = new TableElement().border(BorderStyle.DASHED); table.add(new RowElement(true).add(new LabelElement("foo"))); table.add(new RowElement().add(new LabelElement("bar"))); // assertRender(table, 5, 5, " --- ", "|foo|", " --- ", "|bar|", " --- "); assertRender(table, 5, 4, " --- ", "|foo|", "| |", " --- "); assertNoRender(table, 5, 3); // assertRender(table, 4, 7, " -- ", "|fo|", "|o |", " -- ", "|ba|", "|r |", " -- "); assertRender(table, 4, 6, " -- ", "|fo|", "|o |", "| |", "| |", " -- "); assertRender(table, 4, 5, " -- ", "|fo|", "|o |", "| |", " -- "); assertNoRender(table, 4, 4); }
public void testRowLayoutWithOverflowHidden() { TableElement table = new TableElement().border(BorderStyle.DASHED).overflow(Overflow.HIDDEN); table.add(new RowElement(true).add(new LabelElement("foo"))); table.add(new RowElement().add(new LabelElement("bar"))); // assertRender(table, 5, 5, " --- ", "|foo|", " --- ", "|bar|", " --- "); assertRender(table, 5, 4, " --- ", "|foo|", "| |", " --- "); assertNoRender(table, 5, 3); // assertRender(table, 4, 6, " -- ", "|fo|", " -- ", "|ba|", "| |", " -- "); assertRender(table, 4, 5, " -- ", "|fo|", " -- ", "|ba|", " -- "); assertRender(table, 4, 4, " -- ", "|fo|", "| |", " -- "); assertNoRender(table, 4, 3); // It should work with better impl }
public void testRowLayoutWithColumns() { TableElement table = new TableElement().border(BorderStyle.DASHED).separator(BorderStyle.DASHED); table.add(new RowElement().add(new LabelElement("foo"), new LabelElement("bar"))); // assertRender(table, 9, 3, " ------- ", "|foo|bar|", " ------- "); assertRender(table, 9, 4, " ------- ", "|foo|bar|", "| | |", " ------- "); } }
public void testTooLargeBorderHeader() throws Exception { TableElement tableElement = new TableElement(); tableElement.border(BorderStyle.DASHED); tableElement.separator(BorderStyle.DASHED); tableElement. add(header(). add(label("a")). add(label("This text is very ver very too large to be displayed in a cell of 32"))). add(row(). add(label("c")). add(label("d"))); assertRender(tableElement, 32, " ------------------------------ ", "|a|This text is very ver very t|", "| |oo large to be displayed in |", "| |a cell of 32 |", " ------------------------------ ", "|c|d |", " ------------------------------ "); }
public void testCosmeticWithBorder() throws Exception { TableElement table = new TableElement(); table.withColumnLayout(Layout.flow()); RowElement row = new RowElement().add(new LabelElement("foo", 5), new LabelElement("This text is larger to be displayed in a cell of 32", 5)); table.separator(BorderStyle.DASHED); table.border(BorderStyle.DASHED); table.add(row); assertRender(table, 32, " ------------------------------ ", "|foo|This text is larger to be |", "| |displayed in a cell of 32 |", " ------------------------------ "); }
public void testStyleOff() { TableElement table = new TableElement(). border(BorderStyle.DASHED). separator(BorderStyle.DASHED). style(Style.style(Decoration.bold)). add( row().style(Style.style(Decoration.underline)).add(label("foo"), label("bar"))); assertRender(table, 32, " ------- ", "|\033[1;4mfoo\033[0m|\033[1;4mbar\033[0m| ", " ------- "); }
public void testTooManyColumns() throws Exception { TableElement tableElement = new TableElement(); tableElement.separator(BorderStyle.DASHED); tableElement.border(BorderStyle.DASHED); tableElement. add(row(). add(label("a")). add(label("This text is very ver very too large to be displayed in a cell of 32")). add(label("b"))); assertRender(tableElement, 32, " ------------------------------ ", "|a|This text is very ver very t|", "| |oo large to be displayed in |", "| |a cell of 32 |", " ------------------------------ "); } }
public void testCellPadding() { TableElement table = new TableElement().leftCellPadding(1).rightCellPadding(2); table.add(new RowElement().add(new LabelElement("foo"), new LabelElement("bar"))); // assertEquals(12, table.renderer().getActualWidth()); assertEquals(8, table.renderer().getMinWidth()); // assertRender(table, 12, " foo bar "); assertRender(table, 11, " foo ba ", " r "); assertRender(table, 10, " foo b ", " a ", " r "); assertRender(table, 9, " foo "); assertRender(table, 8, " foo "); assertRender(table, 7, " foo "); assertRender(table, 6, " foo "); assertRender(table, 5, " fo ", " o "); assertRender(table, 4, " f ", " o ", " o "); // IT SHOULD BE NO RENDER assertRender(table, 3); }