@Override public LineRenderer renderer(Iterator<UIBuilder> stream) { LinkedList<LineRenderer> renderers = new LinkedList<LineRenderer>(); while (stream.hasNext()) { for (Element element : stream.next().getElements()) { renderers.add(element.renderer()); } } return LineRenderer.vertical(renderers); } }
public void testTableBorderFalse() { GroovyShell shell = new GroovyShell(); UIBuilder res = (UIBuilder)shell.evaluate( "import org.crsh.text.ui.UIBuilder;\n" + "def builder = new UIBuilder();\n" + "builder.table(border: false) {\n" + "row {\n" + "}\n" + "};\n" + "return builder;\n" ); assertEquals(1, res.getElements().size()); assertTrue(res.getElements().get(0) instanceof TableElement); assertSame(null, ((TableElement)res.getElements().get(0)).border); }
public void testTableBorderNull() { GroovyShell shell = new GroovyShell(); UIBuilder res = (UIBuilder)shell.evaluate( "import org.crsh.text.ui.UIBuilder;\n" + "def builder = new UIBuilder();\n" + "builder.table(border: null) {\n" + "row {\n" + "}\n" + "};\n" + "return builder;\n" ); assertEquals(1, res.getElements().size()); assertTrue(res.getElements().get(0) instanceof TableElement); assertSame(null, ((TableElement)res.getElements().get(0)).border); }
public void testTable() { GroovyShell shell = new GroovyShell(); UIBuilder res = (UIBuilder)shell.evaluate( "import org.crsh.text.ui.UIBuilder;\n" + "def builder = new UIBuilder();\n" + "builder.table { };\n" + "return builder;\n" ); assertEquals(1, res.getElements().size()); assertTrue(res.getElements().get(0) instanceof TableElement); assertEquals(0, ((TableElement)res.getElements().get(0)).getRows().size()); }
public void testTableBorderDash() { GroovyShell shell = new GroovyShell(); UIBuilder res = (UIBuilder)shell.evaluate( "import org.crsh.text.ui.UIBuilder;\n" + "def builder = new UIBuilder();\n" + "builder.table(border:org.crsh.text.ui.BorderStyle.DASHED) {\n" + "row {\n" + "}\n" + "};\n" + "return builder;\n" ); assertEquals(1, res.getElements().size()); assertTrue(res.getElements().get(0) instanceof TableElement); assertSame(BorderStyle.DASHED, ((TableElement)res.getElements().get(0)).border); }
public void testTableBorderStar() { GroovyShell shell = new GroovyShell(); UIBuilder res = (UIBuilder)shell.evaluate( "import org.crsh.text.ui.UIBuilder\n" + "def builder = new UIBuilder();\n" + "builder.table(border: org.crsh.text.ui.BorderStyle.STAR) {\n" + "row {\n" + "}\n" + "};\n" + "return builder;\n" ); assertEquals(1, res.getElements().size()); assertTrue(res.getElements().get(0) instanceof TableElement); assertSame(BorderStyle.STAR, ((TableElement)res.getElements().get(0)).border); }
public void testLabel() { GroovyShell shell = new GroovyShell(); UIBuilder res = (UIBuilder)shell.evaluate( "import org.crsh.text.ui.UIBuilder;\n" + "def builder = new UIBuilder();\n" + "builder.label('foo');\n" + "return builder;\n" ); assertEquals(1, res.getElements().size()); assertTrue(res.getElements().get(0) instanceof LabelElement); assertEquals("foo", ((LabelElement)res.getElements().get(0)).getValue()); }
public void testEmptyTable() { GroovyShell shell = new GroovyShell(); UIBuilder res = (UIBuilder)shell.evaluate( "import org.crsh.text.ui.UIBuilder;\n" + "def builder = new UIBuilder();\n" + "return builder;\n" ); assertEquals(0, res.getElements().size()); }
public void testTableBorderTrue() { GroovyShell shell = new GroovyShell(); UIBuilder res = (UIBuilder)shell.evaluate( "import org.crsh.text.ui.UIBuilder;\n" + "def builder = new UIBuilder();\n" + "builder.table(border: true) {\n" + "row {\n" + "}\n" + "};\n" + "return builder;\n" ); assertEquals(1, res.getElements().size()); assertTrue(res.getElements().get(0) instanceof TableElement); assertSame(BorderStyle.DASHED, ((TableElement)res.getElements().get(0)).border); }
public void testNode() { GroovyShell shell = new GroovyShell(); UIBuilder res = (UIBuilder)shell.evaluate( "import org.crsh.text.ui.UIBuilder;\n" + "def builder = new UIBuilder();\n" + "builder.node { };\n" + "return builder;\n" ); assertEquals(1, res.getElements().size()); assertNull(((TreeElement)res.getElements().get(0)).getValue()); assertTrue(res.getElements().get(0) instanceof TreeElement); assertEquals(0, ((TreeElement)res.getElements().get(0)).getSize()); }
public void testTableHeader() { GroovyShell shell = new GroovyShell(); UIBuilder res = (UIBuilder)shell.evaluate( "import org.crsh.text.ui.UIBuilder;\n" + "def builder = new UIBuilder();\n" + "builder.table {\n" + "header () {\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(true, ((TableElement)res.getElements().get(0)).getRows().get(0).header); }
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()); }
public void testLabelledNode() { GroovyShell shell = new GroovyShell(); UIBuilder res = (UIBuilder)shell.evaluate( "import org.crsh.text.ui.UIBuilder;\n" + "def builder = new UIBuilder();\n" + "builder.node('foo') { };\n" + "return builder;\n" ); assertEquals(1, res.getElements().size()); assertTrue(res.getElements().get(0) instanceof TreeElement); assertTrue(((TreeElement)res.getElements().get(0)).getValue() instanceof LabelElement); assertEquals("foo", ((LabelElement)((TreeElement)res.getElements().get(0)).getValue()).getValue()); assertEquals(0, ((TreeElement)res.getElements().get(0)).getSize()); }
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 testTableCols() { GroovyShell shell = new GroovyShell(); UIBuilder res = (UIBuilder)shell.evaluate( "import org.crsh.text.ui.UIBuilder;\n" + "def builder = new UIBuilder();\n" + "builder.table(columns: [1,1]) {\n" + "row {\n" + "}\n" + "};\n" + "return builder;\n" ); assertEquals(1, res.getElements().size()); TableElement table = assertInstance(TableElement.class, res.getElements().get(0)); Layout.Weighted layout = assertInstance(Layout.Weighted.class, table.getColumnLayout()); assertTrue(Arrays.equals(new int[]{1,1}, layout.getWeights())); }
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 Renderer renderer(Iterator<UIBuilder> stream) { LinkedList<Renderer> renderers = new LinkedList<Renderer>(); while (stream.hasNext()) { for (Element element : stream.next().getElements()) { renderers.add(element.renderer()); } } return Renderer.vertical(renderers); } }
@Override public LineRenderer renderer(Iterator<UIBuilder> stream) { LinkedList<LineRenderer> renderers = new LinkedList<LineRenderer>(); while (stream.hasNext()) { for (Element element : stream.next().getElements()) { renderers.add(element.renderer()); } } return LineRenderer.vertical(renderers); } }
@Override public LineRenderer renderer(Iterator<UIBuilder> stream) { LinkedList<LineRenderer> renderers = new LinkedList<LineRenderer>(); while (stream.hasNext()) { for (Element element : stream.next().getElements()) { renderers.add(element.renderer()); } } return LineRenderer.vertical(renderers); } }