package com.vaadin.tests.tooltip; import com.vaadin.server.VaadinRequest; import com.vaadin.tests.components.AbstractReindeerTestUI; import com.vaadin.tests.util.LoremIpsum; import com.vaadin.ui.NativeButton; import com.vaadin.ui.VerticalLayout; import com.vaadin.v7.ui.TextField; /** * Test to see if the width of the tooltip element is updated if a narrower * tooltip is opened to replace a tooltip with wider content. * * @author Vaadin Ltd */ public class TooltipWidthUpdating extends AbstractReindeerTestUI { private static final long serialVersionUID = 1L; protected static final String SHORT_TOOLTIP_TEXT = "This is a short tooltip"; protected static final String LONG_TOOLTIP_TEXT = LoremIpsum.get(5000); protected static final Integer MAX_WIDTH = 500; @Override protected void setup(VaadinRequest request) { NativeButton componentWithShortTooltip = new NativeButton( "Short tooltip"); componentWithShortTooltip.setDescription(SHORT_TOOLTIP_TEXT); componentWithShortTooltip.setId("shortTooltip"); getTooltipConfiguration().setMaxWidth(MAX_WIDTH); getTooltipConfiguration().setCloseTimeout(200); NativeButton componentWithLongTooltip = new NativeButton( "Long tooltip"); componentWithLongTooltip.setId("longTooltip"); componentWithLongTooltip.setDescription(LONG_TOOLTIP_TEXT); VerticalLayout vl = new VerticalLayout(); TextField component1 = new TextField("TextField"); component1.setId("component1"); TextField component2 = new TextField("TextField"); TextField component3 = new TextField("TextField"); TextField component4 = new TextField("TextField"); TextField component5 = new TextField("TextField"); TextField component6 = new TextField("TextField"); TextField component7 = new TextField("TextField"); TextField component8 = new TextField("TextField"); // some count of any components should be added before (between) buttons // to make defect reproducible vl.addComponents(component1, component2, component2, component3, component4, component5, component5, component6, component7, component8); getLayout().addComponents(componentWithShortTooltip, vl, componentWithLongTooltip); } @Override protected String getTestDescription() { return "Tests that tooltip element width is updated if a narrower tooltip is opened to replace a tooltip with wider content"; } @Override protected Integer getTicketNumber() { return 11871; } }