-
Notifications
You must be signed in to change notification settings - Fork 729
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
…12223) * Merged column headers should work within declarative Grid. (#12206) - null check to prevent NPE from the merged column headers - convert to internal columnIds for merge handling - use correct cell in merge handling - switch away from streams in merge handling for easier readability - regression test Fixes: #10464
- Loading branch information
Showing
4 changed files
with
99 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
65 changes: 65 additions & 0 deletions
65
uitest/src/main/java/com/vaadin/tests/declarative/DeclarativeGrid.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
package com.vaadin.tests.declarative; | ||
|
||
import static java.nio.charset.StandardCharsets.UTF_8; | ||
|
||
import java.io.ByteArrayInputStream; | ||
|
||
import com.vaadin.server.VaadinRequest; | ||
import com.vaadin.tests.components.AbstractTestUI; | ||
import com.vaadin.ui.declarative.Design; | ||
import com.vaadin.ui.declarative.DesignContext; | ||
|
||
public class DeclarativeGrid extends AbstractTestUI { | ||
|
||
private String design = "" + // | ||
" <vaadin-grid>\n" + // | ||
" <table>\n" + // | ||
" <colgroup>\n" + // | ||
" <col column-id=\"project\" sortable=\"false\">\n" + // | ||
" <col column-id=\"status\" sortable=\"false\">\n" + // | ||
" <col column-id=\"date\" sortable=\"false\">\n" + // | ||
" </colgroup>\n" + // | ||
" <thead>\n" + // | ||
" <tr default>\n" + // | ||
" <th plain-text column-ids=\"project,status\" " + // | ||
" colspan=\"2\">Project and Status</th>\n" + // | ||
" <th plain-text column-ids=\"date\">Date</th>\n" + // | ||
" </tr>\n" + // | ||
" </thead>\n" + // | ||
" <tbody>\n" + // | ||
" <tr item=\"project1\">\n" + // | ||
" <td>Customer Project 1</td>\n" + // | ||
" <td>OK</td>\n" + // | ||
" <td>2020-12-31</td>\n" + // | ||
" </tr>\n" + // | ||
" <tr item=\"project2\">\n" + // | ||
" <td>Customer Project 2</td>\n" + // | ||
" <td>OK</td>\n" + // | ||
" <td>2020-07-02</td>\n" + // | ||
" </tr>\n" + // | ||
" <tr item=\"project3\">\n" + // | ||
" <td>Customer Project 3</td>\n" + // | ||
" <td>OK</td>\n" + // | ||
" <td>2019-10-01</td>\n" + // | ||
" </tr>\n" + // | ||
" </tbody>\n" + // | ||
" </table>\n" + // | ||
" </vaadin-grid>"; | ||
|
||
@Override | ||
protected void setup(VaadinRequest request) { | ||
DesignContext dc = Design | ||
.read(new ByteArrayInputStream(design.getBytes(UTF_8)), null); | ||
addComponent(dc.getRootComponent()); | ||
} | ||
|
||
@Override | ||
protected Integer getTicketNumber() { | ||
return 10464; | ||
} | ||
|
||
@Override | ||
protected String getTestDescription() { | ||
return "Merged column header should not cause an exception."; | ||
} | ||
} |
19 changes: 19 additions & 0 deletions
19
uitest/src/test/java/com/vaadin/tests/declarative/DeclarativeGridTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
package com.vaadin.tests.declarative; | ||
|
||
import org.junit.Test; | ||
|
||
import com.vaadin.testbench.By; | ||
import com.vaadin.testbench.elements.GridElement; | ||
import com.vaadin.tests.tb3.MultiBrowserTest; | ||
|
||
public class DeclarativeGridTest extends MultiBrowserTest { | ||
|
||
@Test | ||
public void testMergedHeaderCell() { | ||
openTestURL(); | ||
waitForElementPresent(By.className("v-label")); | ||
// ensure the grid gets loaded and has the merged header | ||
GridElement grid = $(GridElement.class).first(); | ||
grid.getHeaderCellByCaption("Project and Status"); | ||
} | ||
} |