12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package com.vaadin.tests.components.grid;
-
- import static org.junit.Assert.assertTrue;
-
- import org.junit.Test;
-
- import com.vaadin.testbench.elements.ButtonElement;
- import com.vaadin.testbench.elements.GridElement;
- import com.vaadin.tests.tb3.SingleBrowserTest;
-
- /**
- * @author Vaadin Ltd
- */
- public class GridAriaRowcountTest extends SingleBrowserTest {
-
- private GridElement grid;
-
- @Test
- public void checkGridAriaRowcount() {
- openTestURL();
-
- grid = $(GridElement.class).first();
-
- // default grid should contain at least one of each role
- String gridHtml = grid.getHTML();
- assertTrue("Grid should contain a role=\"rowheader\"",
- gridHtml.contains("role=\"rowheader\""));
- assertTrue("Grid should contain a role=\"columnheader\"",
- gridHtml.contains("role=\"columnheader\""));
- assertTrue("Grid should contain a role=\"row\"",
- gridHtml.contains("role=\"row\""));
- assertTrue("Grid should contain a role=\"gridcell\"",
- gridHtml.contains("role=\"gridcell\""));
- assertTrue("Grid should contain a role=\"rowgroup\"",
- gridHtml.contains("role=\"rowgroup\""));
-
- // default with 1 header row and 2 body rows.
- assertTrue("Grid should have 3 rows", containsRows(3));
-
- $(ButtonElement.class).caption("addFooter").first().click();
- // 1 header row, 2 body rows and 1 footer row.
- assertTrue("Grid should have 4 rows", containsRows(4));
-
- $(ButtonElement.class).caption("removeFooter").first().click();
- // 1 header row and 2 body rows.
- assertTrue("Grid should have 3 rows", containsRows(3));
-
- $(ButtonElement.class).caption("addHeader").first().click();
- // 2 header row and 2 body rows.
- assertTrue("Grid should have 4 rows", containsRows(4));
-
- $(ButtonElement.class).caption("removeHeader").first().click();
- // 1 header row and 2 body rows.
- assertTrue("Grid should have 3 rows", containsRows(3));
-
- $(ButtonElement.class).caption("setItemsTo3").first().click();
- // 1 header row and 3 body rows.
- assertTrue("Grid should have 4 rows", containsRows(4));
-
- $(ButtonElement.class).caption("setItemsTo6").first().click();
- // 1 header row and 6 body rows.
- assertTrue("Grid should have 7 rows", containsRows(7));
-
- $(ButtonElement.class).caption("updateAll").first().click();
- // 2 header rows, 4 body rows and 1 footer row.
- assertTrue("Grid should have 7 rows", containsRows(7));
- }
-
- private boolean containsRows(int rowcount) {
- return grid.getHTML()
- .contains("aria-rowcount=\"" + String.valueOf(rowcount) + "\"");
- }
- }
|