diff options
author | Johannes Dahlström <johannesd@vaadin.com> | 2014-09-10 15:21:09 +0300 |
---|---|---|
committer | Johannes Dahlström <johannesd@vaadin.com> | 2014-09-19 11:39:01 +0000 |
commit | fcb564daacec11992703e4821ae784c0d3b305dd (patch) | |
tree | 5ece928f624676a5a04c6a3c7e7f10b679b649a6 /uitest | |
parent | 8de9a37bae7b663e31750c5a195e28038637a318 (diff) | |
download | vaadin-framework-fcb564daacec11992703e4821ae784c0d3b305dd.tar.gz vaadin-framework-fcb564daacec11992703e4821ae784c0d3b305dd.zip |
Implement Vaadin-specific editor row bind/cancel handling (#13334)
Change-Id: I9a6326a065b3ca159dd1b4237de1dbf8fa8e10ff
Diffstat (limited to 'uitest')
-rw-r--r-- | uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java | 29 | ||||
-rw-r--r-- | uitest/src/com/vaadin/tests/components/grid/basicfeatures/client/GridEditorRowTest.java | 64 |
2 files changed, 93 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java index 0802fcffe5..ae8a0d5eb8 100644 --- a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java +++ b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java @@ -109,6 +109,8 @@ public class GridBasicFeatures extends AbstractComponentTest<Grid> { item.getItemProperty(getColumnProperty(col)).setValue( "(" + row + ", " + col + ")"); } + item.getItemProperty(getColumnProperty(1)).setReadOnly(true); + item.getItemProperty(getColumnProperty(col++)).setValue( Integer.valueOf(row)); item.getItemProperty(getColumnProperty(col++)).setValue( @@ -190,6 +192,8 @@ public class GridBasicFeatures extends AbstractComponentTest<Grid> { grid.setSelectionMode(SelectionMode.NONE); + grid.getEditorRow().setPropertyEditable(getColumnProperty(3), false); + createGridActions(); createColumnActions(); @@ -655,6 +659,31 @@ public class GridBasicFeatures extends AbstractComponentTest<Grid> { c.getEditorRow().setEnabled(value); } }); + + createClickAction("Edit item 5", "Editor row", + new Command<Grid, String>() { + @Override + public void execute(Grid c, String value, Object data) { + c.getEditorRow().editItem(5); + } + }, null); + + createClickAction("Edit item 100", "Editor row", + new Command<Grid, String>() { + @Override + public void execute(Grid c, String value, Object data) { + c.getEditorRow().editItem(100); + } + }, null); + + createClickAction("Cancel edit", "Editor row", + new Command<Grid, String>() { + @Override + public void execute(Grid c, String value, Object data) { + c.getEditorRow().cancel(); + } + }, null); + } @SuppressWarnings("boxing") diff --git a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/client/GridEditorRowTest.java b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/client/GridEditorRowTest.java index f82702d432..7ca3894060 100644 --- a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/client/GridEditorRowTest.java +++ b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/client/GridEditorRowTest.java @@ -15,14 +15,21 @@ */ package com.vaadin.tests.components.grid.basicfeatures.client; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; +import java.util.List; + import org.junit.Before; import org.junit.Test; +import org.openqa.selenium.By; import org.openqa.selenium.Keys; +import org.openqa.selenium.NoSuchElementException; +import org.openqa.selenium.WebElement; import org.openqa.selenium.interactions.Actions; +import com.vaadin.tests.components.grid.basicfeatures.GridBasicFeatures; import com.vaadin.tests.components.grid.basicfeatures.GridBasicFeaturesTest; public class GridEditorRowTest extends GridBasicFeaturesTest { @@ -34,6 +41,48 @@ public class GridEditorRowTest extends GridBasicFeaturesTest { } @Test + public void testProgrammaticOpeningClosing() { + selectMenuPath("Component", "Editor row", "Edit item 5"); + assertNotNull(getEditorRow()); + + selectMenuPath("Component", "Editor row", "Cancel edit"); + assertNull(getEditorRow()); + } + + @Test + public void testProgrammaticOpeningWhenDisabled() { + selectMenuPath("Component", "Editor row", "Enabled"); + selectMenuPath("Component", "Editor row", "Edit item 5"); + assertNull(getEditorRow()); + assertEquals( + "4. Exception occured, java.lang.IllegalStateExceptionThis EditorRow is not enabled", + getLogRow(0)); + } + + @Test + public void testDisablingWhileOpen() { + selectMenuPath("Component", "Editor row", "Edit item 5"); + selectMenuPath("Component", "Editor row", "Enabled"); + assertNotNull(getEditorRow()); + assertEquals( + "4. Exception occured, java.lang.IllegalStateExceptionCannot disable the editor row while an item (5) is being edited.", + getLogRow(0)); + + } + + @Test + public void testProgrammaticOpeningWithScroll() { + selectMenuPath("Component", "Editor row", "Edit item 100"); + assertNotNull(getEditorRow()); + } + + @Test(expected = NoSuchElementException.class) + public void testVerticalScrollLocking() { + selectMenuPath("Component", "Editor row", "Edit item 5"); + getGridElement().getCell(200, 0); + } + + @Test public void testKeyboardOpeningClosing() { getGridElement().getCell(4, 0).click(); @@ -52,4 +101,19 @@ public class GridEditorRowTest extends GridBasicFeaturesTest { new Actions(getDriver()).sendKeys(Keys.ENTER).perform(); assertNull(getEditorRow()); } + + @Test + public void testComponentBinding() { + selectMenuPath("Component", "State", "Editor row", "Edit item 100"); + + List<WebElement> widgets = getEditorRow().findElements( + By.className("v-widget")); + + assertEquals(GridBasicFeatures.COLUMNS, widgets.size()); + + assertEquals("(100, 0)", widgets.get(0).getAttribute("value")); + assertEquals("(100, 1)", widgets.get(1).getAttribute("value")); + assertEquals("(100, 2)", widgets.get(2).getAttribute("value")); + assertEquals("<b>100</b>", widgets.get(9).getAttribute("value")); + } } |