public void testEmptyRow() { GroovyShell shell = new GroovyShell(); UIBuilder res = (UIBuilder)shell.evaluate( "import org.crsh.text.ui.UIBuilder;\n" + "def builder = new UIBuilder();\n" + "builder.table {\n" + "row { }\n" + "};\n" + "return builder;\n" ); assertEquals(1, res.getElements().size()); assertTrue(res.getElements().get(0) instanceof TableElement); assertEquals(1, ((TableElement)res.getElements().get(0)).getRows().size()); assertEquals(0, ((TableElement)res.getElements().get(0)).getRows().get(0).getSize()); }
@Override public LineRenderer renderer(Iterator<BindingData> stream) { TableElement table = new TableElement(); table.setRightCellPadding(1); RowElement header = new RowElement(true); header.add("NAME"); table.add(header); while (stream.hasNext()) { BindingData binding = stream.next(); RowElement row = new RowElement(); row.add(binding.name); if (binding.verbose) { row.add(new LabelElement(binding.type)); if (header.getSize() == 1) { header.add("CLASS"); } } table.add(row); } return table.renderer(); }
public void testRow() { GroovyShell shell = new GroovyShell(); UIBuilder res = (UIBuilder)shell.evaluate( "import org.crsh.text.ui.UIBuilder;\n" + "def builder = new UIBuilder();\n" + "builder.table {\n" + "row () {\n" + "label(\"col1\"); label(\"col2\")\n" + "}\n" + "};\n" + "return builder;\n" ); assertEquals(1, res.getElements().size()); assertTrue(res.getElements().get(0) instanceof TableElement); assertEquals(1, ((TableElement)res.getElements().get(0)).getRows().size()); assertEquals(2, ((TableElement)res.getElements().get(0)).getRows().get(0).getSize()); assertEquals("Label[col1]", ((TableElement)res.getElements().get(0)).getRows().get(0).getCol(0).toString()); assertEquals("Label[col2]", ((TableElement)res.getElements().get(0)).getRows().get(0).getCol(1).toString()); }
public void testRowStyleWithEnd() { GroovyShell shell = new GroovyShell(); UIBuilder res = (UIBuilder)shell.evaluate( "import org.crsh.text.ui.UIBuilder;\n" + "import org.crsh.text.Color;\n" + "import org.crsh.text.Style;\n" + "def builder = new UIBuilder();\n" + "builder.table {\n" + "row (bold: true, foreground: red, background: green) {\n" + "label(\"col1\"); label(\"col2\")\n" + "}\n" + "};\n" + "return builder;\n" ); assertEquals(1, res.getElements().size()); TableElement table = assertInstance(TableElement.class, res.getElements().get(0)); assertEquals(1, table.getRows().size()); assertEquals(2, table.getRows().get(0).getSize()); assertEquals(Decoration.bold.fg(Color.red).bg(Color.green), table.getRows().get(0).getStyle()); }
public void testEval() { GroovyShell shell = new GroovyShell(); UIBuilder builder = (UIBuilder)shell.evaluate( "import org.crsh.text.ui.UIBuilder;\n" + "import org.crsh.text.Color;\n" + "import org.crsh.text.Style;\n" + "def builder = new UIBuilder();\n" + "builder.table {\n" + "row {\n" + "eval {" + " return 'HELLO';" + "}\n" + "}\n" + "};\n" + "return builder;\n" ); // List<Element> elements = builder.getElements(); assertEquals(1, elements.size()); TableElement table = assertInstance(TableElement.class, elements.get(0)); assertEquals(1, table.getRows().size()); RowElement row = table.getRows().get(0); assertEquals(1, row.getSize()); EvalElement eval = assertInstance(EvalElement.class, row.getCol(0)); assertNotNull(eval.closure); assertEquals("HELLO", eval.closure.call()); } }
@Override public LineRenderer renderer(Iterator<BindingData> stream) { TableElement table = new TableElement(); table.setRightCellPadding(1); RowElement header = new RowElement(true); header.add("NAME"); table.add(header); while (stream.hasNext()) { BindingData binding = stream.next(); RowElement row = new RowElement(); row.add(binding.name); if (binding.verbose) { row.add(new LabelElement(binding.type)); if (header.getSize() == 1) { header.add("CLASS"); } } table.add(row); } return table.renderer(); }
@Override public LineRenderer renderer(Iterator<BindingData> stream) { TableElement table = new TableElement(); table.setRightCellPadding(1); RowElement header = new RowElement(true); header.add("NAME"); table.add(header); while (stream.hasNext()) { BindingData binding = stream.next(); RowElement row = new RowElement(); row.add(binding.name); if (binding.verbose) { row.add(new LabelElement(binding.type)); if (header.getSize() == 1) { header.add("CLASS"); } } table.add(row); } return table.renderer(); }
@Override public Renderer renderer(Iterator<BindingData> stream) { TableElement table = new TableElement(); table.setRightCellPadding(1); RowElement header = new RowElement(true); header.add(new LabelElement("NAME")); table.add(header); while (stream.hasNext()) { BindingData binding = stream.next(); RowElement row = new RowElement(); row.add(new LabelElement(binding.name)); if (binding.verbose) { row.add(new LabelElement(binding.type)); if (header.getSize() == 1) { header.add(new LabelElement("CLASS")); } } table.add(row); } return table.renderer(); }