diff options
author | Aleksi Hietanen <aleksi@vaadin.com> | 2016-12-14 15:36:14 +0200 |
---|---|---|
committer | Pekka Hyvönen <pekka@vaadin.com> | 2016-12-14 15:36:14 +0200 |
commit | afcd95da1dba4abfd6158f38ab0a95755e2623e4 (patch) | |
tree | 9be6dfe6f1ea576e17171c573ffdf34310e2301d /uitest/src/test/java/com/vaadin/tests/focusable/AbstractFocusableComponentTest.java | |
parent | ce26bf7c4ce2d3f4a40904d103cb85bdd8fb17c6 (diff) | |
download | vaadin-framework-afcd95da1dba4abfd6158f38ab0a95755e2623e4.tar.gz vaadin-framework-afcd95da1dba4abfd6158f38ab0a95755e2623e4.zip |
Make AbstractListing implement Focusable (#7965)
* Make AbstractListing implement Focusable
Fixes vaadin/framework8-issues#552
* Add tests for other components that inherit from AbstractListing
* Fix setTabIndex in NativeSelect, ListSelect, RadioButtonGroup
Also adds a test for TwinColSelect.
Diffstat (limited to 'uitest/src/test/java/com/vaadin/tests/focusable/AbstractFocusableComponentTest.java')
-rw-r--r-- | uitest/src/test/java/com/vaadin/tests/focusable/AbstractFocusableComponentTest.java | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/uitest/src/test/java/com/vaadin/tests/focusable/AbstractFocusableComponentTest.java b/uitest/src/test/java/com/vaadin/tests/focusable/AbstractFocusableComponentTest.java new file mode 100644 index 0000000000..61d22ae647 --- /dev/null +++ b/uitest/src/test/java/com/vaadin/tests/focusable/AbstractFocusableComponentTest.java @@ -0,0 +1,45 @@ +package com.vaadin.tests.focusable; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import org.junit.Before; +import org.junit.Test; +import org.openqa.selenium.WebElement; + +import com.vaadin.tests.tb3.MultiBrowserTest; + +public abstract class AbstractFocusableComponentTest extends MultiBrowserTest { + + @Before + public void setUp() { + openTestURL(); + } + + @Test + public void testProgrammaticFocus() { + selectMenuPath("Component", "State", "Set focus"); + assertTrue("Component should be focused", isFocused()); + } + + @Test + public void testTabIndex() { + assertEquals("0", getTabIndex()); + + selectMenuPath("Component", "State", "Tab index", "-1"); + assertEquals("-1", getTabIndex()); + + selectMenuPath("Component", "State", "Tab index", "10"); + assertEquals("10", getTabIndex()); + } + + protected String getTabIndex() { + return getFocusElement().getAttribute("tabindex"); + } + + protected boolean isFocused() { + return getFocusElement().equals(getDriver().switchTo().activeElement()); + } + + protected abstract WebElement getFocusElement(); +} |