Change-Id: Iaeba81c7e40d4be5f16e74fa8bcf8c86c53a7d3dtags/7.6.0.beta2
@@ -4650,12 +4650,10 @@ public class Grid<T> extends ResizeComposite implements | |||
* The header caption for this column | |||
* @return the column itself | |||
* | |||
* @throws IllegalArgumentException | |||
* if given caption text is null | |||
*/ | |||
public Column<C, T> setHeaderCaption(String caption) { | |||
if (caption == null) { | |||
throw new IllegalArgumentException("Caption cannot be null."); | |||
caption = ""; | |||
} | |||
if (!this.headerCaption.equals(caption)) { |
@@ -3250,7 +3250,9 @@ public class Grid extends AbstractFocusable implements SelectionNotifier, | |||
public Column setHeaderCaption(String caption) | |||
throws IllegalStateException { | |||
checkColumnIsAttached(); | |||
if (caption == null) { | |||
caption = ""; // Render null as empty | |||
} | |||
state.headerCaption = caption; | |||
HeaderRow row = grid.getHeader().getDefaultRow(); |
@@ -0,0 +1,40 @@ | |||
/* | |||
* Copyright 2000-2014 Vaadin Ltd. | |||
* | |||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not | |||
* use this file except in compliance with the License. You may obtain a copy of | |||
* the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |||
* License for the specific language governing permissions and limitations under | |||
* the License. | |||
*/ | |||
package com.vaadin.tests.components.grid; | |||
import com.vaadin.server.VaadinRequest; | |||
import com.vaadin.tests.components.AbstractTestUIWithLog; | |||
import com.vaadin.ui.Grid; | |||
public class NullHeaders extends AbstractTestUIWithLog { | |||
@Override | |||
protected void setup(VaadinRequest request) { | |||
final Grid grid = new Grid(); | |||
grid.addColumn("country", String.class); | |||
grid.addColumn("foo", String.class); | |||
grid.addColumn("bar", Integer.class); | |||
grid.getColumn("country").setHeaderCaption(null); | |||
grid.getColumn("foo").setHeaderCaption(""); | |||
grid.getColumn("bar").setHeaderCaption(null); | |||
grid.addRow("Finland", "foo", 1); | |||
grid.addRow("Swaziland", "bar", 2); | |||
grid.addRow("Japan", "baz", 3); | |||
addComponent(grid); | |||
} | |||
} |
@@ -0,0 +1,48 @@ | |||
/* | |||
* Copyright 2000-2014 Vaadin Ltd. | |||
* | |||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not | |||
* use this file except in compliance with the License. You may obtain a copy of | |||
* the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |||
* License for the specific language governing permissions and limitations under | |||
* the License. | |||
*/ | |||
package com.vaadin.tests.components.grid; | |||
import org.junit.Assert; | |||
import org.junit.Test; | |||
import com.vaadin.testbench.elements.GridElement; | |||
import com.vaadin.tests.tb3.SingleBrowserTest; | |||
public class NullHeadersTest extends SingleBrowserTest { | |||
@Test | |||
public void gridWithNullHeadersShouldBeRendered() { | |||
openTestURL(); | |||
GridElement grid = $(GridElement.class).first(); | |||
Assert.assertEquals(1, grid.getHeaderCount()); | |||
Assert.assertEquals(3, grid.getHeaderCells(0).size()); | |||
for (int i = 0; i < 3; i++) { | |||
Assert.assertEquals("", grid.getHeaderCell(0, 0).getText()); | |||
} | |||
assertRow(grid, 0, "Finland", "foo", "1"); | |||
assertRow(grid, 1, "Swaziland", "bar", "2"); | |||
assertRow(grid, 2, "Japan", "baz", "3"); | |||
} | |||
private void assertRow(GridElement grid, int row, String... contents) { | |||
for (int col = 0; col < contents.length; col++) { | |||
Assert.assertEquals(contents[col], grid.getCell(row, col).getText()); | |||
} | |||
} | |||
} |