/** * Test setSelectGroup. */ @Test public void testSetSelectGroup() { final String selectGroup = "group42"; WDataTable table = new WDataTable(); table.setLocked(true); setActiveContext(createUIContext()); table.setSelectGroup(selectGroup); Assert.assertEquals("Incorrect selectGroup", selectGroup, table.getSelectGroup()); resetContext(); Assert.assertNull("Default selectGroup should be null", table.getSelectGroup()); }
@Test public void testDoPaintSelectModeMultipleSelectAllControlSubmitOnChangeAndGroupName() 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.setSelectMode(WDataTable.SelectMode.MULTIPLE); component.setSelectAllMode(WDataTable.SelectAllType.CONTROL); component.setSelectGroup("TEST GROUP NAME"); component.setSubmitOnRowSelect(true); setActiveContext(createUIContext()); assertXpathExists("//ui:table/ui:rowselection", component); assertXpathEvaluatesTo(TRUE, "//ui:table/ui:rowselection/@multiple", component); assertXpathEvaluatesTo("control", "//ui:table/ui:rowselection/@selectAll", component); assertXpathEvaluatesTo(component.getSelectGroup(), "//ui:table/ui:rowselection/@groupName", component); }
@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); uic.clearScratchMap(); // clear out cached data from previous renders 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")})); }