--- /dev/null
+package com.vaadin.tests.tooltip;
+
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.tests.components.AbstractTestUI;
+import com.vaadin.ui.MenuBar;
+
+public class MenuBarTooltip extends AbstractTestUI {
+
+ @Override
+ protected void setup(VaadinRequest request) {
+ MenuBar menubar = new MenuBar();
+
+ MenuBar.MenuItem menuitem = menubar.addItem("Menu item", null, null);
+ menuitem.setDescription("Menu item description");
+
+ MenuBar.MenuItem submenuitem1 = menuitem.addItem("Submenu item 1", null, null);
+ submenuitem1.setDescription("Submenu item 1 description");
+
+ MenuBar.MenuItem submenuitem2 = menuitem.addItem("Submenu item 2", null, null);
+ submenuitem2.setDescription("Submenu item 2 description");
+
+ addComponent(menubar);
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 14854;
+ }
+
+ @Override
+ protected String getTestDescription() {
+ return "MenuItem tooltip should have a larger z-index than MenuBar/MenuItem.";
+ }
+}
--- /dev/null
+package com.vaadin.tests.tooltip;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.greaterThan;
+
+import org.junit.Test;
+import org.openqa.selenium.By;
+
+import com.vaadin.testbench.elements.MenuBarElement;
+import com.vaadin.tests.tb3.MultiBrowserTest;
+import com.vaadin.ui.themes.ChameleonTheme;
+import com.vaadin.ui.themes.Reindeer;
+import com.vaadin.ui.themes.Runo;
+import com.vaadin.ui.themes.ValoTheme;
+
+public class MenuBarTooltipTest extends MultiBrowserTest {
+
+ @Test
+ public void toolTipShouldBeOnTopOfMenuItem() {
+ String[] themes = new String[] {
+ ValoTheme.THEME_NAME,
+ Reindeer.THEME_NAME,
+ Runo.THEME_NAME,
+ ChameleonTheme.THEME_NAME
+ };
+
+ for(String theme : themes) {
+ assertZIndices(theme);
+ }
+ }
+
+ public void assertZIndices(String theme) {
+ openTestURL("theme=" + theme);
+
+ $(MenuBarElement.class).first().clickItem("Menu item");
+
+ assertThat(String.format("Invalid z-index for theme %s.", theme),
+ getZIndex("v-tooltip"), greaterThan(getZIndex("v-menubar-popup")));
+ }
+
+ private int getZIndex(String className) {
+ return Integer.parseInt(
+ findElement(By.className(className)).getCssValue("z-index"));
+ }
+
+}
\ No newline at end of file