use of com.github.bordertech.wcomponents.WTableColumn in project wcomponents by BorderTech.
the class WDataTableRenderer_Test method testXssEscaping.
@Test
public void testXssEscaping() throws IOException, SAXException, XpathException {
WDataTable table = new WDataTable();
table.addColumn(new WTableColumn(getMaliciousContent(), WText.class));
table.addColumn(new WTableColumn(getMaliciousContent(), WText.class));
table.addColumn(new WTableColumn(getMaliciousContent(), WText.class));
table.setNoDataMessage(getMaliciousAttribute("ui:table"));
UIContext uic = createUIContext();
assertSafeContent(table);
WButton button = new WButton("dummy");
table.addAction(button);
table.addActionConstraint(button, new ActionConstraint(0, 1, false, getMaliciousAttribute("ui:action")));
assertSafeContent(table);
TableDataModel tableModel = createTableModel();
table.setDataModel(tableModel);
// clear out cached data from previous renders
uic.clearScratchMap();
assertSafeContent(table);
table.setCaption(getMaliciousAttribute("ui:table"));
assertSafeContent(table);
table.setSummary(getMaliciousAttribute("ui:table"));
assertSafeContent(table);
table.setSelectGroup(getMaliciousAttribute("ui:rowselection"));
assertSafeContent(table);
table.setActiveFilters(Arrays.asList(new String[] { getMaliciousAttribute("ui:table") }));
}
use of com.github.bordertech.wcomponents.WTableColumn in project wcomponents by BorderTech.
the class WDataTableRenderer_Test method testDoPaintMissingAttributesColumnStriping.
@Test
public void testDoPaintMissingAttributesColumnStriping() 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.setDataModel(createTableModel());
component.setVisible(true);
component.setStripingType(WDataTable.StripingType.COLUMNS);
component.setSeparatorType(WDataTable.SeparatorType.VERTICAL);
assertXpathNotExists("//ui:table/@caption", component);
assertXpathEvaluatesTo("table", "//ui:table/@type", component);
assertXpathEvaluatesTo("cols", "//ui:table/@striping", component);
assertXpathEvaluatesTo("vertical", "//ui:table/@separators", component);
}
use of com.github.bordertech.wcomponents.WTableColumn in project wcomponents by BorderTech.
the class WDataTableRenderer_Test method testDoPaintSortableSortModeDynamic.
@Test
public void testDoPaintSortableSortModeDynamic() 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 = createTableModelSortable();
component.setDataModel(tableModel);
component.setVisible(true);
// sortMode dynamic
component.setSortMode(SortMode.DYNAMIC);
assertXpathEvaluatesTo("dynamic", "//ui:table/ui:sort/@mode", component);
assertXpathEvaluatesTo(TRUE, "//ui:table/ui:thead/ui:th[1]/@sortable", component);
assertXpathNotExists("//ui:table/ui:thead/ui:th[2]/@sortable", component);
assertXpathEvaluatesTo(TRUE, "//ui:table/ui:thead/ui:th[3]/@sortable", component);
}
use of com.github.bordertech.wcomponents.WTableColumn in project wcomponents by BorderTech.
the class WDataTableRenderer_Test method testDoPaintWithColAlignment.
@Test
public void testDoPaintWithColAlignment() throws IOException, SAXException, XpathException {
WDataTable table = new WDataTable();
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));
table.getColumn(0).setAlign(WTableColumn.Alignment.LEFT);
table.getColumn(1).setAlign(WTableColumn.Alignment.CENTER);
table.getColumn(2).setAlign(WTableColumn.Alignment.RIGHT);
TableDataModel tableModel = createTableModel();
table.setDataModel(tableModel);
assertXpathNotExists("//ui:table/ui:thead/ui:th[1]/@align", table);
assertXpathEvaluatesTo("center", "//ui:table/ui:thead/ui:th[2]/@align", table);
assertXpathEvaluatesTo("right", "//ui:table/ui:thead/ui:th[3]/@align", table);
}
use of com.github.bordertech.wcomponents.WTableColumn in project wcomponents by BorderTech.
the class WDataTableRenderer_Test method testDoPaintEmptyTableNoAttributes.
@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);
}
Aggregations