aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/com/vaadin/tests/components/datefield
diff options
context:
space:
mode:
authorMika Murtojarvi <mika@vaadin.com>2015-02-16 17:33:15 +0200
committerVaadin Code Review <review@vaadin.com>2015-03-03 08:22:56 +0000
commit0aa4af8f266a46a93ae7817c5e04dcef79389c94 (patch)
treecf4970be32a00b001c5c2456c7c92659225ede23 /uitest/src/com/vaadin/tests/components/datefield
parent05fc5806e7946223e057ad7458a18dadceb0566f (diff)
downloadvaadin-framework-0aa4af8f266a46a93ae7817c5e04dcef79389c94.tar.gz
vaadin-framework-0aa4af8f266a46a93ae7817c5e04dcef79389c94.zip
Fix text input of PopupCalendar in Internet Explorer (#16677).
Similarly to VTextField, VTextualDate now uses KeyDownHandler with IE to process the pressing of the return key. Change-Id: I139134fc38678ad46f0c46f30e3de25547b9a3c6
Diffstat (limited to 'uitest/src/com/vaadin/tests/components/datefield')
-rw-r--r--uitest/src/com/vaadin/tests/components/datefield/DateFieldKeyboardInput.java58
-rw-r--r--uitest/src/com/vaadin/tests/components/datefield/DateFieldKeyboardInputTest.java43
2 files changed, 101 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/components/datefield/DateFieldKeyboardInput.java b/uitest/src/com/vaadin/tests/components/datefield/DateFieldKeyboardInput.java
new file mode 100644
index 0000000000..8157ce5028
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/datefield/DateFieldKeyboardInput.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2000-2014 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.tests.components.datefield;
+
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+import java.util.Locale;
+
+import com.vaadin.data.Property.ValueChangeEvent;
+import com.vaadin.data.Property.ValueChangeListener;
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.tests.components.AbstractTestUI;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.PopupDateField;
+
+public class DateFieldKeyboardInput extends AbstractTestUI {
+
+ @Override
+ protected void setup(VaadinRequest request) {
+ Calendar c = new GregorianCalendar(Locale.ENGLISH);
+ c.set(2014, 0, 15);
+ final PopupDateField dateField = new PopupDateField("Select date",
+ c.getTime());
+ dateField.setDateFormat("dd.MM.yyyy");
+ addComponent(dateField);
+ dateField.addValueChangeListener(new ValueChangeListener() {
+
+ @Override
+ public void valueChange(ValueChangeEvent event) {
+ addComponent(new Label("Date has been changed."));
+ }
+ });
+ }
+
+ @Override
+ public Integer getTicketNumber() {
+ return 16677;
+ }
+
+ @Override
+ public String getTestDescription() {
+ return "When a new date is entered in the text field using the keyboard, pressing the return key after typing the date, "
+ + "a label with the text 'Date has been changed' should appear.";
+ }
+} \ No newline at end of file
diff --git a/uitest/src/com/vaadin/tests/components/datefield/DateFieldKeyboardInputTest.java b/uitest/src/com/vaadin/tests/components/datefield/DateFieldKeyboardInputTest.java
new file mode 100644
index 0000000000..15f196a26b
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/datefield/DateFieldKeyboardInputTest.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2000-2014 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.tests.components.datefield;
+
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+import org.openqa.selenium.By;
+import org.openqa.selenium.Keys;
+import org.openqa.selenium.WebElement;
+
+import com.vaadin.testbench.elements.DateFieldElement;
+import com.vaadin.testbench.elements.LabelElement;
+import com.vaadin.tests.tb3.MultiBrowserTest;
+
+public class DateFieldKeyboardInputTest extends MultiBrowserTest {
+
+ @Test
+ public void testValueChangeEvent() {
+ openTestURL();
+ WebElement dateFieldText = $(DateFieldElement.class).first()
+ .findElement(By.tagName("input"));
+ dateFieldText.clear();
+ int numLabelsBeforeUpdate = $(LabelElement.class).all().size();
+ dateFieldText.sendKeys("20.10.2013", Keys.RETURN);
+ int numLabelsAfterUpdate = $(LabelElement.class).all().size();
+ assertTrue("Changing the date failed.",
+ numLabelsAfterUpdate == numLabelsBeforeUpdate + 1);
+ }
+} \ No newline at end of file