--- /dev/null
+package com.vaadin.tests.components.menubar;\r
+\r
+import com.vaadin.tests.components.TestBase;\r
+import com.vaadin.tests.util.Log;\r
+import com.vaadin.ui.MenuBar;\r
+import com.vaadin.ui.MenuBar.Command;\r
+import com.vaadin.ui.MenuBar.MenuItem;\r
+\r
+public class MenuBarNavigation extends TestBase implements Command {\r
+\r
+ private MenuItem edit;\r
+ private MenuItem file;\r
+ private MenuItem help;\r
+ private Log log;\r
+ private MenuItem export;\r
+\r
+ @Override\r
+ protected void setup() {\r
+ MenuBar mb = new MenuBar();\r
+ file = mb.addItem("File", null);\r
+ file.addItem("Open", this);\r
+ file.addItem("Save", this);\r
+ file.addItem("Save As..", this);\r
+ file.addSeparator();\r
+ export = file.addItem("Export..", null);\r
+ export.addItem("As PDF...", this);\r
+ file.addSeparator();\r
+ file.addItem("Exit", this);\r
+ edit = mb.addItem("Edit", null);\r
+ edit.addItem("Copy", this);\r
+ edit.addItem("Cut", this);\r
+ edit.addItem("Paste", this);\r
+ help = mb.addItem("Help", this);\r
+\r
+ addComponent(mb);\r
+\r
+ log = new Log(5);\r
+ addComponent(log);\r
+ }\r
+\r
+ @Override\r
+ protected String getDescription() {\r
+ return "Test case for mouse and keyboard navigation in MenuBar";\r
+ }\r
+\r
+ @Override\r
+ protected Integer getTicketNumber() {\r
+ return 5174;\r
+ }\r
+\r
+ public void menuSelected(MenuItem selectedItem) {\r
+ log.log("MenuItem " + getName(selectedItem) + " selected");\r
+ }\r
+\r
+ private String getName(MenuItem selectedItem) {\r
+ String name = "";\r
+ if (selectedItem.getParent() != null) {\r
+ name = getName(selectedItem.getParent()) + "/";\r
+ }\r
+ return name + selectedItem.getText();\r
+ }\r
+}\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">\r
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">\r
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
+<link rel="selenium.base" href="" />\r
+<title>New Test</title>\r
+</head>\r
+<body>\r
+<table cellpadding="1" cellspacing="1" border="1">\r
+<thead>\r
+<tr><td rowspan="1" colspan="3">New Test</td></tr>\r
+</thead><tbody>\r
+<tr>\r
+ <td>open</td>\r
+ <td>/run/com.vaadin.tests.components.menubar.MenuBarNavigation?restartApplication</td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>mouseClick</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VMenuBar[0]#menu0</td>\r
+ <td>3,10</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>pressSpecialKey</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VMenuBar[0]</td>\r
+ <td>down</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>pressSpecialKey</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VMenuBar[0]</td>\r
+ <td>down</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>pressSpecialKey</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VMenuBar[0]</td>\r
+ <td>down</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>pressSpecialKey</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VMenuBar[0]</td>\r
+ <td>down</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>pressSpecialKey</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VMenuBar[0]</td>\r
+ <td>right</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>pressSpecialKey</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VMenuBar[0]</td>\r
+ <td>enter</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>assertText</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0]</td>\r
+ <td>MenuItem File/Export../As PDF... selected</td>\r
+</tr>\r
+<tr>\r
+ <td>mouseClick</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VMenuBar[0]#menu0</td>\r
+ <td>0,7</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>pressSpecialKey</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VMenuBar[0]</td>\r
+ <td>right</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>pressSpecialKey</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VMenuBar[0]</td>\r
+ <td>right</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>pressSpecialKey</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VMenuBar[0]</td>\r
+ <td>right</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>pressSpecialKey</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VMenuBar[0]</td>\r
+ <td>enter</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>assertText</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0]</td>\r
+ <td>MenuItem Help selected</td>\r
+</tr>\r
+<tr>\r
+ <td>mouseClick</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VMenuBar[0]#menu1</td>\r
+ <td>4,7</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>pressSpecialKey</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VMenuBar[0]</td>\r
+ <td>left</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>pressSpecialKey</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VMenuBar[0]</td>\r
+ <td>down</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>pressSpecialKey</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VMenuBar[0]</td>\r
+ <td>down</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>pressSpecialKey</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VMenuBar[0]</td>\r
+ <td>enter</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>assertText</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0]</td>\r
+ <td>MenuItem Edit/Cut selected</td>\r
+</tr>\r
+\r
+</tbody></table>\r
+</body>\r
+</html>\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">\r
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">\r
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
+<link rel="selenium.base" href="" />\r
+<title>New Test</title>\r
+</head>\r
+<body>\r
+<table cellpadding="1" cellspacing="1" border="1">\r
+<thead>\r
+<tr><td rowspan="1" colspan="3">New Test</td></tr>\r
+</thead><tbody>\r
+<tr>\r
+ <td>open</td>\r
+ <td>/run/com.vaadin.tests.components.menubar.MenuBarNavigation?restartApplication</td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>mouseClick</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VMenuBar[0]#menu0</td>\r
+ <td>13,8</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>mouseClick</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::Root/VOverlay[0]/VMenuBar[0]#menu4</td>\r
+ <td>41,4</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>mouseClick</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::Root/VOverlay[1]/VMenuBar[0]#menu0</td>\r
+ <td>32,2</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>assertText</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0]</td>\r
+ <td>MenuItem File/Export../As PDF... selected</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>mouseClick</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VMenuBar[0]#menu1</td>\r
+ <td>13,11</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>mouseClick</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::Root/VOverlay[0]/VMenuBar[0]#menu0</td>\r
+ <td>18,11</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>assertText</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0]</td>\r
+ <td>MenuItem Edit/Copy selected</td>\r
+</tr>\r
+<tr>\r
+ <td>mouseClick</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VMenuBar[0]#menu2</td>\r
+ <td>6,5</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>assertText</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0]</td>\r
+ <td>MenuItem Help selected</td>\r
+</tr>\r
+<tr>\r
+ <td>mouseClick</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VMenuBar[0]#menu0</td>\r
+ <td>8,13</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>mouseClick</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::Root/VOverlay[0]/VMenuBar[0]#menu6</td>\r
+ <td>18,9</td>\r
+</tr>\r
+<tr>\r
+ <td>waitForVaadin</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td>assertText</td>\r
+ <td>vaadin=runcomvaadintestscomponentsmenubarMenuBarNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0]</td>\r
+ <td>MenuItem File/Exit selected</td>\r
+</tr>\r
+\r
+</tbody></table>\r
+</body>\r
+</html>\r