aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/test/java/com/vaadin/tests/focusable/AbstractFocusableComponentTest.java
diff options
context:
space:
mode:
authorAleksi Hietanen <aleksi@vaadin.com>2016-12-14 15:36:14 +0200
committerPekka Hyvönen <pekka@vaadin.com>2016-12-14 15:36:14 +0200
commitafcd95da1dba4abfd6158f38ab0a95755e2623e4 (patch)
tree9be6dfe6f1ea576e17171c573ffdf34310e2301d /uitest/src/test/java/com/vaadin/tests/focusable/AbstractFocusableComponentTest.java
parentce26bf7c4ce2d3f4a40904d103cb85bdd8fb17c6 (diff)
downloadvaadin-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.java45
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();
+}