summaryrefslogtreecommitdiffstats
path: root/uitest/src/com/vaadin/tests/extensions/ResponsiveUITest.java
diff options
context:
space:
mode:
Diffstat (limited to 'uitest/src/com/vaadin/tests/extensions/ResponsiveUITest.java')
-rw-r--r--uitest/src/com/vaadin/tests/extensions/ResponsiveUITest.java78
1 files changed, 78 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/extensions/ResponsiveUITest.java b/uitest/src/com/vaadin/tests/extensions/ResponsiveUITest.java
new file mode 100644
index 0000000000..76babed333
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/extensions/ResponsiveUITest.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright 2000-2013 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.extensions;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.openqa.selenium.WebElement;
+import org.openqa.selenium.interactions.Actions;
+
+import com.vaadin.testbench.By;
+import com.vaadin.tests.tb3.MultiBrowserTest;
+
+public class ResponsiveUITest extends MultiBrowserTest {
+
+ @Before
+ public void setUp() throws Exception {
+ // We need this in order to ensure that the initial width-range is
+ // 401px-600px
+ testBench().resizeViewPortTo(1024, 768);
+ }
+
+ // JQuery style selector
+ private WebElement $(String cssSelector) {
+ return getDriver().findElement(By.cssSelector(cssSelector));
+ }
+
+ @Test
+ public void testResizingSplitPanelReflowsLayout() throws Exception {
+ openTestURL();
+
+ assertEquals("401px-600px",
+ $(".v-csslayout-grid.first").getAttribute("width-range"));
+ assertEquals("501px-",
+ $(".v-csslayout-grid.second").getAttribute("width-range"));
+
+ moveSplitter(200);
+
+ assertEquals("601-800",
+ $(".v-csslayout-grid.first").getAttribute("width-range"));
+ assertEquals("501px-",
+ $(".v-csslayout-grid.second").getAttribute("width-range"));
+
+ moveSplitter(-350);
+
+ assertEquals("201px-400px",
+ $(".v-csslayout-grid.first").getAttribute("width-range"));
+ assertEquals("301px-400px",
+ $(".v-csslayout-grid.second").getAttribute("width-range"));
+
+ compareScreen("responsive");
+
+ moveSplitter(-200);
+ assertEquals("-200px",
+ $(".v-csslayout-grid.first").getAttribute("width-range"));
+
+ }
+
+ private void moveSplitter(int xOffset) {
+ new Actions(getDriver()).clickAndHold($(".v-splitpanel-hsplitter"))
+ .moveByOffset(xOffset, 0).release().build().perform();
+ }
+}