Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
*/
package com.vaadin.testbench.elements;

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebElement;

import com.vaadin.testbench.By;
Expand All @@ -33,4 +34,43 @@ public class RichTextAreaElement extends AbstractFieldElement {
public WebElement getEditorIframe() {
return findElement(By.tagName("iframe"));
}

/**
* Return value of the field element.
*
* @return value of the field element
* @since
*/
public String getValue() {
JavascriptExecutor executor= (JavascriptExecutor)getDriver();
return executor.executeScript("return arguments[0].contentDocument.body.innerHTML",getEditorIframe()).toString();
}

/**
* Set value of the field element.
*
* @param chars
* new value of the field
*@since
*/
public void setValue(CharSequence chars) throws ReadOnlyException {
if (isReadOnly()) {
throw new ReadOnlyException();
}
focus();
JavascriptExecutor executor= (JavascriptExecutor)getDriver();
executor.executeScript("" +
"var bodyE=arguments[0].contentDocument.body;\n" +
"bodyE.innerHTML=arguments[1]; \n" +
"var ev = document.createEvent('HTMLEvents');\n" +
"ev.initEvent('change', true, false); \n" +
"bodyE.dispatchEvent(ev);",getEditorIframe(), chars);
}

@Override
public void focus(){
waitForVaadin();
JavascriptExecutor executor= (JavascriptExecutor)getDriver();
executor.executeScript("arguments[0].contentDocument.body.focus();",getEditorIframe());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,27 +21,12 @@

import com.vaadin.server.VaadinRequest;
import com.vaadin.tests.components.AbstractTestUI;
import com.vaadin.ui.AbstractTextField;
import com.vaadin.ui.CheckBox;
import com.vaadin.ui.CheckBoxGroup;
import com.vaadin.ui.ComboBox;
import com.vaadin.ui.Component;
import com.vaadin.ui.DateField;
import com.vaadin.ui.Label;
import com.vaadin.ui.ListSelect;
import com.vaadin.ui.MultiSelect;
import com.vaadin.ui.NativeSelect;
import com.vaadin.ui.PasswordField;
import com.vaadin.ui.RadioButtonGroup;
import com.vaadin.ui.Slider;
import com.vaadin.ui.TextArea;
import com.vaadin.ui.TextField;
import com.vaadin.ui.TwinColSelect;
import com.vaadin.ui.*;

/**
* UI test for getValue() method of components: TextField, TextArea,
* PasswordField, ComboBox, ListSelect, NativeSelect, OptionGroup, CheckBox,
* DateField, TwinColSelect
* DateField, TwinColSelect, RichTextArea
*
* @since
* @author Vaadin Ltd
Expand All @@ -52,6 +37,7 @@ public class ComponentElementGetValue extends AbstractTestUI {
public static final int TEST_SLIDER_VALUE = 42;
public static final float TEST_FLOAT_VALUE = 0.42f;
public static final LocalDate TEST_DATE_VALUE = LocalDate.now();
public static final String TESTGET_STRING_VALUE_RICHTEXTAREA = "value 4";
DateField df;
final Label valueChangeLabel = new Label("Initial value");

Expand Down Expand Up @@ -121,7 +107,7 @@ protected void setup(VaadinRequest request) {
event -> valueChangeLabel.setValue(value));
addComponent(field);
}

addComponent(createRichTextArea());
addComponent(createCheckBox());
addComponent(createSlider());
addComponent(createDateField());
Expand Down Expand Up @@ -153,6 +139,12 @@ private CheckBox createCheckBox() {
return cb;
}

private RichTextArea createRichTextArea() {
RichTextArea rta=new RichTextArea();
rta.setValue(TESTGET_STRING_VALUE_RICHTEXTAREA);
return rta;
}

@Override
protected String getTestDescription() {
return "Field elements getValue() should return test value";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,7 @@

import com.vaadin.server.VaadinRequest;
import com.vaadin.tests.components.AbstractTestUI;
import com.vaadin.ui.AbstractField;
import com.vaadin.ui.AbstractTextField;
import com.vaadin.ui.DateField;
import com.vaadin.ui.Label;
import com.vaadin.ui.PasswordField;
import com.vaadin.ui.TextArea;
import com.vaadin.ui.TextField;
import com.vaadin.ui.*;

/**
*
Expand Down Expand Up @@ -53,6 +47,7 @@ protected void setup(VaadinRequest request) {
addValueChangeListener(comps[i], i);
addComponent(comps[i]);
addComponent(eventCountLabels[i]);
addComponent(createRichTextArea());

}

Expand Down Expand Up @@ -81,6 +76,12 @@ private DateField createDateField() {
return df;
}

private RichTextArea createRichTextArea() {
RichTextArea rta=new RichTextArea();
rta.setValue(INITIAL_VALUE);
return rta;
}

@Override
protected String getTestDescription() {
return "Test type method of AbstractTextField components";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,21 +21,10 @@
import java.util.Collections;
import java.util.List;

import com.vaadin.testbench.elements.*;
import org.junit.Before;
import org.junit.Test;

import com.vaadin.testbench.elements.AbstractTextFieldElement;
import com.vaadin.testbench.elements.CheckBoxElement;
import com.vaadin.testbench.elements.CheckBoxGroupElement;
import com.vaadin.testbench.elements.ComboBoxElement;
import com.vaadin.testbench.elements.DateFieldElement;
import com.vaadin.testbench.elements.ListSelectElement;
import com.vaadin.testbench.elements.NativeSelectElement;
import com.vaadin.testbench.elements.PasswordFieldElement;
import com.vaadin.testbench.elements.RadioButtonGroupElement;
import com.vaadin.testbench.elements.TextAreaElement;
import com.vaadin.testbench.elements.TextFieldElement;
import com.vaadin.testbench.elements.TwinColSelectElement;
import com.vaadin.tests.tb3.MultiBrowserTest;

public class ComponentElementGetValueTest extends MultiBrowserTest {
Expand Down Expand Up @@ -130,6 +119,14 @@ public void checkDateField() {
assertEquals(expected, actual);
}

@Test
public void checkRichTextArea(){
RichTextAreaElement elem= $(RichTextAreaElement.class).first();
String expected=ComponentElementGetValue.TESTGET_STRING_VALUE_RICHTEXTAREA;
String actual=elem.getValue();
assertEquals(expected,actual);
}

private void checkValue(AbstractTextFieldElement elem) {
String expected = ComponentElementGetValue.TEST_STRING_VALUE;
String actual = elem.getValue();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,11 @@

import static org.junit.Assert.assertEquals;

import com.vaadin.testbench.elements.*;
import com.vaadin.tests.elements.ComponentElementGetValue;
import org.junit.Before;
import org.junit.Test;

import com.vaadin.testbench.elements.AbstractTextFieldElement;
import com.vaadin.testbench.elements.DateFieldElement;
import com.vaadin.testbench.elements.LabelElement;
import com.vaadin.testbench.elements.PasswordFieldElement;
import com.vaadin.testbench.elements.TextAreaElement;
import com.vaadin.testbench.elements.TextFieldElement;
import com.vaadin.tests.tb3.MultiBrowserTest;

/**
Expand Down Expand Up @@ -69,6 +65,14 @@ public void dateFieldSetValue() {
assertEquals(TYPED_STRING, elem.getValue());
}

@Test
public void richTextAreaSetValue(){
RichTextAreaElement elem=$ (RichTextAreaElement.class).get(0);
elem.setValue(TYPED_STRING);
String actual=elem.getValue();
assertEquals(TYPED_STRING,actual);
}

// helper methods
// checks that setValue method works
private void checkType(AbstractTextFieldElement elem,
Expand Down