diff options
author | Marco Collovati <mcollovati@gmail.com> | 2018-03-19 17:44:59 +0100 |
---|---|---|
committer | Ilia Motornyi <elmot@vaadin.com> | 2018-03-19 18:44:59 +0200 |
commit | 649f2f3eeae246e8f57e433c5fd3dcc8fe488d6c (patch) | |
tree | 68427c9e5007ea4aea416bb1b3b9170f8d433f9c /uitest | |
parent | 5a48f878017e44a132b586b3d2731d0073d70574 (diff) | |
download | vaadin-framework-649f2f3eeae246e8f57e433c5fd3dcc8fe488d6c.tar.gz vaadin-framework-649f2f3eeae246e8f57e433c5fd3dcc8fe488d6c.zip |
Initialize VRichTextArea.client in RichTextAreaConnector
Fixes #10536
Diffstat (limited to 'uitest')
2 files changed, 65 insertions, 0 deletions
diff --git a/uitest/src/main/java/com/vaadin/tests/components/richtextarea/RichTextAreaDelegateToShortcutHandler.java b/uitest/src/main/java/com/vaadin/tests/components/richtextarea/RichTextAreaDelegateToShortcutHandler.java new file mode 100644 index 0000000000..ead2ebc4bd --- /dev/null +++ b/uitest/src/main/java/com/vaadin/tests/components/richtextarea/RichTextAreaDelegateToShortcutHandler.java @@ -0,0 +1,25 @@ +package com.vaadin.tests.components.richtextarea; + +import com.vaadin.event.ShortcutAction; +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUIWithLog; +import com.vaadin.ui.Button; +import com.vaadin.ui.RichTextArea; +import com.vaadin.ui.VerticalLayout; + +public class RichTextAreaDelegateToShortcutHandler extends AbstractTestUIWithLog { + + @Override + protected void setup(VaadinRequest request) { + final VerticalLayout layout = new VerticalLayout(); + final RichTextArea name = new RichTextArea(); + name.setCaption("Type your name here:"); + + Button button = new Button("Click Me"); + button.setClickShortcut(ShortcutAction.KeyCode.ENTER); + button.addClickListener(e -> log("ShortcutHandler invoked " + name.getValue())); + + layout.addComponents(name, button); + addComponent(layout); + } +} diff --git a/uitest/src/test/java/com/vaadin/tests/components/richtextarea/RichTextAreaDelegateToShortcutHandlerTest.java b/uitest/src/test/java/com/vaadin/tests/components/richtextarea/RichTextAreaDelegateToShortcutHandlerTest.java new file mode 100644 index 0000000000..0fc2c631ca --- /dev/null +++ b/uitest/src/test/java/com/vaadin/tests/components/richtextarea/RichTextAreaDelegateToShortcutHandlerTest.java @@ -0,0 +1,40 @@ +package com.vaadin.tests.components.richtextarea; + +import java.util.List; + +import com.vaadin.testbench.elements.RichTextAreaElement; +import com.vaadin.tests.tb3.MultiBrowserTest; +import org.junit.Test; +import org.openqa.selenium.Keys; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.remote.DesiredCapabilities; + +import static org.hamcrest.Matchers.containsString; +import static org.junit.Assert.assertThat; + +public class RichTextAreaDelegateToShortcutHandlerTest extends MultiBrowserTest { + + @Override + public List<DesiredCapabilities> getBrowsersToTest() { + return getBrowsersExcludingPhantomJS(); + } + + @Test + public void shouldDelegateToShortcutActionHandler() { + openTestURL(); + + WebElement textAreaEditor = $(RichTextAreaElement.class).first().getEditorIframe(); + textAreaEditor.sendKeys("Test"); + textAreaEditor.sendKeys(Keys.ENTER); + + assertThat("Shortcut handler has not been invoked", + getLogRow(0), containsString("ShortcutHandler invoked Test")); + + textAreaEditor.sendKeys(Keys.chord(Keys.SHIFT, Keys.ENTER)); + textAreaEditor.sendKeys("another row"); + textAreaEditor.sendKeys(Keys.ENTER); + + assertThat("Shortcut handler has not been invoked", + getLogRow(0), containsString("ShortcutHandler invoked Test\nanother row")); + } +} |