/** * Creates and configures the table to be used by the example. * * @return a new configured table. */ private WDataTable createTable() { WDataTable tbl = new WDataTable(); tbl.addColumn(new WTableColumn("First name", new WTextField())); tbl.addColumn(new WTableColumn("Last name", new WTextField())); tbl.addColumn(new WTableColumn("DOB", new WDateField())); return tbl; }
/** * Creates a DataTableExample. */ public WDataTableContentExample() { table = new WDataTable(); table.addColumn(new WTableColumn("Name (text)", new WText())); table.addColumn(new WTableColumn("Name (image)", new DynamicWImage())); add(table); }
@Test(expected = IllegalArgumentException.class) public void testSetWidthInvalidGreater100() { WTableColumn col = new WTableColumn("width3", WText.class); col.setWidth(101); }
/** * Create example. */ public TableContentExample() { table = new WTable(); table.setPaginationMode(WTable.PaginationMode.CLIENT); table.setRowsPerPage(5); table.addColumn(new WTableColumn("Name (text)", new WText())); table.addColumn(new WTableColumn("Name (image)", new DynamicWImage())); add(table); }
@Test public void testAlignAccessors() { assertAccessorsCorrect(new WTableColumn("align", WText.class), "align", null, WTableColumn.Alignment.LEFT, WTableColumn.Alignment.RIGHT); }
@Test public void testColumnOrderAccessors() { WTable table = new WTable(); table.addColumn(new WTableColumn("col1", WText.class)); table.addColumn(new WTableColumn("col2", WText.class)); int[] order1 = new int[]{0, 1}; int[] order2 = new int[]{1}; assertAccessorsCorrect(table, "columnOrder", null, order1, order2); }
@Test public void testDoPaintOfRowHeaderWithNoRowHeaderColumn() throws IOException, SAXException, XpathException { WTable table = new WTable(); table.addColumn(new WTableColumn(COL1_HEADING_TEST, WTextField.class)); table.addColumn(new WTableColumn(COL2_HEADING_TEST, WTextField.class)); table.addColumn(new WTableColumn(COL3_HEADING_TEST, WTextField.class)); // no row headers set TableModel tableModel = createTableModel(); table.setTableModel(tableModel); assertXpathNotExists("//ui:table/ui:tbody/ui:tr/ui:th", table); }
@Test public void testGetRendererClass() { WTableColumn column = new WTableColumn("dummy", WText.class); Assert.assertSame("Incorrect renderer class", WText.class, column.getRendererClass()); } }
@Test public void testDoPaintExpandModeDynamic() throws IOException, SAXException, XpathException { WTable component = new WTable(); component.addColumn(new WTableColumn(COL1_HEADING_TEST, WTextField.class)); component.addColumn(new WTableColumn(COL2_HEADING_TEST, WTextField.class)); component.addColumn(new WTableColumn(COL3_HEADING_TEST, WTextField.class)); TableModel tableModel = createTableModel(); component.setTableModel(tableModel); component.setVisible(true); component.setExpandMode(ExpandMode.DYNAMIC); assertXpathEvaluatesTo("dynamic", "//ui:table/ui:rowexpansion/@mode", component); }
@Test public void testDoPaintEmptyTableNoAttributes() throws IOException, SAXException, XpathException { WDataTable component = new WDataTable(); component.addColumn(new WTableColumn(COL1_HEADING_TEST, WTextField.class)); component.addColumn(new WTableColumn(COL2_HEADING_TEST, WTextField.class)); component.addColumn(new WTableColumn(COL3_HEADING_TEST, WTextField.class)); component.setVisible(true); setActiveContext(createUIContext()); assertXpathEvaluatesTo(component.getNoDataMessage(), "//ui:table/ui:tbody/ui:nodata", component); }
@Test public void testDoPaintExpandModeLazy() throws IOException, SAXException, XpathException { WDataTable component = new WDataTable(); component.addColumn(new WTableColumn(COL1_HEADING_TEST, WTextField.class)); component.addColumn(new WTableColumn(COL2_HEADING_TEST, WTextField.class)); component.addColumn(new WTableColumn(COL3_HEADING_TEST, WTextField.class)); TableDataModel tableModel = createTableModel(); component.setDataModel(tableModel); component.setVisible(true); component.setExpandMode(ExpandMode.LAZY); assertXpathEvaluatesTo("lazy", "//ui:table/ui:rowexpansion/@mode", component); }
@Test public void testDoPaintEmptyTableNoAttributes() throws IOException, SAXException, XpathException { WTable component = new WTable(); component.addColumn(new WTableColumn(COL1_HEADING_TEST, WTextField.class)); component.addColumn(new WTableColumn(COL2_HEADING_TEST, WTextField.class)); component.addColumn(new WTableColumn(COL3_HEADING_TEST, WTextField.class)); component.setVisible(true); setActiveContext(createUIContext()); assertXpathEvaluatesTo(component.getNoDataMessage(), "//ui:table/ui:tbody/ui:nodata", component); }
@Test public void testDoPaintExpandModeClient() throws IOException, SAXException, XpathException { WTable component = new WTable(); component.addColumn(new WTableColumn(COL1_HEADING_TEST, WTextField.class)); component.addColumn(new WTableColumn(COL2_HEADING_TEST, WTextField.class)); component.addColumn(new WTableColumn(COL3_HEADING_TEST, WTextField.class)); TableModel tableModel = createTableModel(); component.setTableModel(tableModel); component.setVisible(true); component.setExpandMode(ExpandMode.CLIENT); assertXpathEvaluatesTo("client", "//ui:table/ui:rowexpansion/@mode", component); }
@Test public void testDoPaintExpandModeLazy() throws IOException, SAXException, XpathException { WTable component = new WTable(); component.addColumn(new WTableColumn(COL1_HEADING_TEST, WTextField.class)); component.addColumn(new WTableColumn(COL2_HEADING_TEST, WTextField.class)); component.addColumn(new WTableColumn(COL3_HEADING_TEST, WTextField.class)); TableModel tableModel = createTableModel(); component.setTableModel(tableModel); component.setVisible(true); component.setExpandMode(ExpandMode.LAZY); assertXpathEvaluatesTo("lazy", "//ui:table/ui:rowexpansion/@mode", component); }
@Test public void testDoPaintExpandModeServer() throws IOException, SAXException, XpathException { WDataTable component = new WDataTable(); component.addColumn(new WTableColumn(COL1_HEADING_TEST, WTextField.class)); component.addColumn(new WTableColumn(COL2_HEADING_TEST, WTextField.class)); component.addColumn(new WTableColumn(COL3_HEADING_TEST, WTextField.class)); TableDataModel tableModel = createTableModel(); component.setDataModel(tableModel); component.setVisible(true); component.setExpandMode(ExpandMode.SERVER); assertXpathEvaluatesTo("dynamic", "//ui:table/ui:rowexpansion/@mode", component); }
@Test public void testSetWidthRange() { WTableColumn col = new WTableColumn("width2", WText.class); col.setWidth(-1); Assert.assertEquals("Incorrect width percentage from setter -1", 0, col.getWidth()); col.setWidth(0); Assert.assertEquals("Incorrect width percentage from setter 0", 0, col.getWidth()); col.setWidth(100); Assert.assertEquals("Incorrect width percentage from setter 100", 100, col.getWidth()); }
@Test(expected = IllegalArgumentException.class) public void testSetColumnOrderTooHigh() { WTable table = new WTable(); table.addColumn(new WTableColumn("col1", WText.class)); table.setColumnOrder(new int[]{1, 2}); }
@Test(expected = IllegalArgumentException.class) public void testColumnOrderEmpty() { WTable table = new WTable(); table.addColumn(new WTableColumn("col1", WText.class)); table.setColumnOrder(new int[]{}); }
@Test(expected = IllegalArgumentException.class) public void testColumnOrderInvalidColumnIndex() { WTable table = new WTable(); table.addColumn(new WTableColumn("col1", WText.class)); table.setColumnOrder(new int[]{1}); }
/** * Creates a simple table with a data model set. * * @return a new table with content. */ private static WTable createWTable() { WTable table = new WTable(); table.addColumn(new WTableColumn("Column 1", WText.class)); table.addColumn(new WTableColumn("Column 2", new WTextField())); table.setTableModel(new AdapterBasicTableModel(new MyModel())); return table; }