aboutsummaryrefslogtreecommitdiffstats
path: root/uitest
diff options
context:
space:
mode:
authorTeemu Pòˆntelin <teemu@vaadin.com>2014-04-05 15:11:26 +0300
committerVaadin Code Review <review@vaadin.com>2014-04-08 08:57:45 +0000
commit31f05d0001b6911fcac93bf09b0301dbf1385fa4 (patch)
treed4083f547f4989e200047d19563643a89fc8828b /uitest
parent49771e5a68316ff6cff1db57c328332988f24fb7 (diff)
downloadvaadin-framework-31f05d0001b6911fcac93bf09b0301dbf1385fa4.tar.gz
vaadin-framework-31f05d0001b6911fcac93bf09b0301dbf1385fa4.zip
Slider handle is now correctly updated on resize (#12550)
Fixed the issue by replacing the legacy ContainerResizedListener with adding (and removing) an ElementResizeListener to the LayoutManager. Notice also that after this change there are no longer implementations of the deprecated ContainerResizedListener in the framework codebase. Change-Id: Ib984953d8b53b9535d39ae70166c17ffd5b4103b
Diffstat (limited to 'uitest')
-rw-r--r--uitest/src/com/vaadin/tests/components/slider/SliderResize.java60
-rw-r--r--uitest/src/com/vaadin/tests/components/slider/SliderResizeTest.java49
2 files changed, 109 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/components/slider/SliderResize.java b/uitest/src/com/vaadin/tests/components/slider/SliderResize.java
new file mode 100644
index 0000000000..55ed56299c
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/slider/SliderResize.java
@@ -0,0 +1,60 @@
+/*
+ * 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.slider;
+
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.tests.components.AbstractTestUI;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.Slider;
+import com.vaadin.ui.VerticalLayout;
+
+public class SliderResize extends AbstractTestUI {
+
+ @Override
+ protected void setup(VaadinRequest request) {
+ final VerticalLayout layout = new VerticalLayout();
+ layout.setSpacing(true);
+ layout.setWidth("500px");
+ addComponent(layout);
+
+ Slider slider = new Slider();
+ slider.setId("horizontal");
+ slider.setValue(100.0);
+ slider.setWidth("100%");
+
+ Button changeWidth = new Button("Set layout width to 300px",
+ new Button.ClickListener() {
+
+ @Override
+ public void buttonClick(ClickEvent event) {
+ layout.setWidth("300px");
+ }
+ });
+ layout.addComponents(slider, changeWidth);
+ }
+
+ @Override
+ protected String getTestDescription() {
+ return "Slider handle should be updated to correct position when the component size changes";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 12550;
+ }
+
+}
diff --git a/uitest/src/com/vaadin/tests/components/slider/SliderResizeTest.java b/uitest/src/com/vaadin/tests/components/slider/SliderResizeTest.java
new file mode 100644
index 0000000000..22df3e4211
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/slider/SliderResizeTest.java
@@ -0,0 +1,49 @@
+/*
+ * 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.slider;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.IOException;
+
+import org.junit.Test;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebElement;
+
+import com.vaadin.tests.tb3.MultiBrowserTest;
+
+public class SliderResizeTest extends MultiBrowserTest {
+
+ @Test
+ public void resizeSlider() throws IOException {
+ openTestURL();
+
+ // Verify the starting position.
+ assertEquals("488px", getSliderHandlePosition());
+
+ // Click on the button that reduces the layout width by 200px.
+ driver.findElement(By.className("v-button")).click();
+
+ // Assert that the slider handle was also moved.
+ assertEquals("288px", getSliderHandlePosition());
+ }
+
+ private String getSliderHandlePosition() {
+ WebElement handle = driver.findElement(By.className("v-slider-handle"));
+ return handle.getCssValue("margin-left");
+ }
+
+}