aboutsummaryrefslogtreecommitdiffstats
path: root/uitest
diff options
context:
space:
mode:
authorDenis Anisimov <denis@vaadin.com>2014-03-26 22:37:53 +0200
committerVaadin Code Review <review@vaadin.com>2014-04-02 05:30:16 +0000
commit87b6027c6dd284d57c3988fe1e5a8fb600fd33bb (patch)
tree338d76c25d6b2b0ecc7d7ff525896bf3881d7d90 /uitest
parentcb4d7aefb6aee18c3ca4a144a545a1e179415f53 (diff)
downloadvaadin-framework-87b6027c6dd284d57c3988fe1e5a8fb600fd33bb.tar.gz
vaadin-framework-87b6027c6dd284d57c3988fe1e5a8fb600fd33bb.zip
Trigger action/submenu on SPACE key along with ENTER (#12525).
Change-Id: I1548cc90e133f90c94fc33c50fb06a8aff353826
Diffstat (limited to 'uitest')
-rw-r--r--uitest/src/com/vaadin/tests/components/menubar/SpaceMenuBarNavigation.java61
-rw-r--r--uitest/src/com/vaadin/tests/components/menubar/SpaceMenuBarNavigationTest.java59
2 files changed, 120 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/components/menubar/SpaceMenuBarNavigation.java b/uitest/src/com/vaadin/tests/components/menubar/SpaceMenuBarNavigation.java
new file mode 100644
index 0000000000..338219d848
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/menubar/SpaceMenuBarNavigation.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2000-2013 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.tests.components.menubar;
+
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.tests.components.AbstractTestUI;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.MenuBar;
+import com.vaadin.ui.MenuBar.Command;
+import com.vaadin.ui.MenuBar.MenuItem;
+
+/**
+ *
+ * @since 7.2
+ * @author Vaadin Ltd
+ */
+public class SpaceMenuBarNavigation extends AbstractTestUI implements Command {
+
+ @Override
+ protected void setup(VaadinRequest request) {
+ MenuBar menuBar = new MenuBar();
+ menuBar.addStyleName("menu-bar");
+
+ MenuItem item = menuBar.addItem("menu", null);
+
+ item.addItem("subitem", this);
+
+ addComponent(menuBar);
+ }
+
+ @Override
+ protected String getTestDescription() {
+ return "Space key code should trigger menu actions/submenu";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 12525;
+ }
+
+ @Override
+ public void menuSelected(MenuItem selectedItem) {
+ Label label = new Label("action result");
+ label.addStyleName("action-result");
+ addComponent(label);
+ }
+
+}
diff --git a/uitest/src/com/vaadin/tests/components/menubar/SpaceMenuBarNavigationTest.java b/uitest/src/com/vaadin/tests/components/menubar/SpaceMenuBarNavigationTest.java
new file mode 100644
index 0000000000..f10e1551df
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/menubar/SpaceMenuBarNavigationTest.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2000-2013 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.tests.components.menubar;
+
+import java.util.List;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.openqa.selenium.Keys;
+import org.openqa.selenium.WebElement;
+
+import com.vaadin.testbench.By;
+import com.vaadin.tests.tb3.MultiBrowserTest;
+
+/**
+ *
+ * @since 7.2
+ * @author Vaadin Ltd
+ */
+public class SpaceMenuBarNavigationTest extends MultiBrowserTest {
+
+ @Test
+ public void testEnableParentLayout() {
+ openTestURL();
+
+ WebElement menu = driver.findElement(By.className("menu-bar"));
+ menu.sendKeys(Keys.ARROW_RIGHT);
+ menu.sendKeys(Keys.SPACE);
+
+ List<WebElement> captions = driver.findElements(By
+ .className("v-menubar-menuitem-caption"));
+ boolean found = false;
+ for (WebElement caption : captions) {
+ if ("subitem".equals(caption.getText())) {
+ found = true;
+ }
+ }
+ Assert.assertTrue("Sub menu is not opened on SPACE key", found);
+
+ menu.sendKeys(Keys.SPACE);
+
+ Assert.assertTrue("No result of action triggered by SPACE key",
+ isElementPresent(By.className("action-result")));
+ }
+
+}