Fixes 11528tags/8.8.0.beta1
@@ -1807,9 +1807,9 @@ public class VComboBox extends Composite implements Field, KeyDownHandler, | |||
@Override | |||
public void onBrowserEvent(Event event) { | |||
super.onBrowserEvent(event); | |||
if (event.getTypeInt() == Event.ONPASTE) { | |||
if (textInputEnabled && connector.isEnabled()) { | |||
if (textInputEnabled && connector.isEnabled() | |||
&& !connector.isReadOnly()) { | |||
filterOptions(currentPage); | |||
} | |||
} |
@@ -0,0 +1,25 @@ | |||
package com.vaadin.tests.components.combobox; | |||
import com.vaadin.annotations.Widgetset; | |||
import com.vaadin.server.VaadinRequest; | |||
import com.vaadin.tests.components.AbstractTestUI; | |||
import com.vaadin.ui.ComboBox; | |||
import java.util.stream.Collectors; | |||
import java.util.stream.Stream; | |||
@Widgetset("com.vaadin.DefaultWidgetSet") | |||
public class ComboboxReadOnlyPaste extends AbstractTestUI { | |||
@Override | |||
protected void setup(VaadinRequest request) { | |||
ComboBox<String> nameComboBox = new ComboBox<>("Name"); | |||
nameComboBox.setId("readOnlyCB"); | |||
nameComboBox.setEmptySelectionAllowed(true); | |||
nameComboBox.setItems( | |||
Stream.of("A", "B", "C", "D").collect(Collectors.toList())); | |||
nameComboBox.setValue("B"); | |||
nameComboBox.setReadOnly(true); | |||
addComponent(nameComboBox); | |||
} | |||
} |
@@ -0,0 +1,22 @@ | |||
package com.vaadin.tests.components.combobox; | |||
import com.vaadin.testbench.elements.ComboBoxElement; | |||
import com.vaadin.tests.tb3.MultiBrowserTest; | |||
import org.junit.Test; | |||
import org.openqa.selenium.Keys; | |||
import static org.junit.Assert.assertFalse; | |||
public class ComboboxReadOnlyPasteTest extends MultiBrowserTest { | |||
@Test | |||
public void popupNotOpened() { | |||
openTestURL(); | |||
ComboBoxElement cb = $(ComboBoxElement.class).first(); | |||
cb.click(); | |||
String paste = Keys.chord(Keys.CONTROL, "v"); | |||
cb.sendKeys(paste); | |||
assertFalse("Pop-up should not be opened in read-only mode", | |||
cb.isPopupOpen()); | |||
} | |||
} |