Change-Id: Ib6a2f77aadc9cb1afe8a8e43be9916de3d2eaf44tags/7.6.0.alpha3^2
LiveValue.ASSERTIVE); | LiveValue.ASSERTIVE); | ||||
Roles.getTooltipRole().setAriaRelevantProperty(getElement(), | Roles.getTooltipRole().setAriaRelevantProperty(getElement(), | ||||
RelevantValue.ADDITIONS); | RelevantValue.ADDITIONS); | ||||
// Tooltip needs to be on top of other VOverlay elements. | |||||
setZIndex(VOverlay.Z_INDEX + 1); | |||||
} | } | ||||
/** | /** |
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."; | |||||
} | |||||
} |
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")); | |||||
} | |||||
} |