aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src
diff options
context:
space:
mode:
authorArtur Signell <artur@vaadin.com>2013-11-11 16:26:51 +0200
committerArtur Signell <artur@vaadin.com>2013-11-11 16:26:51 +0200
commitdc5183c62552135a1f2aa5a94ef6796ffebfcf15 (patch)
tree96e87de11748d81b41dd09d9603bde377c641e01 /uitest/src
parent2f9bcc0c210dafecfdc2943b8603fa4f41a9f16f (diff)
parent13858578966dad8cf5a6f10448b42961817beafc (diff)
downloadvaadin-framework-dc5183c62552135a1f2aa5a94ef6796ffebfcf15.tar.gz
vaadin-framework-dc5183c62552135a1f2aa5a94ef6796ffebfcf15.zip
Merge changes from origin/7.1
0d3c35b Forces redraw in IE 8 when table does post layout. (#12687) 533ddcd Fixed lost scrollLeft when row count changed in Table (#12652). c351b64 Revert "Make Panel scroll the correct div (#12736)" Revert "Reverted change in how hack works (#12727, #12736)" Revert "Fixes the handling of the scroll position of a Window (#12736)" Revert "Recovering scroll position after regression problems. (#12727)" Revert "Ticket #12727 - Panels get unnecessary scroll bars in WebKit when content is 100% wide." 2e3e877 Fix scroll position handling in Window Webkit hack (#12736) 6b38173 Adds JBoss EAP 6 server to integration test suit (#12908) e933562 Minimal fix for error handling with streaming (#12578) 1385857 Do not apply fix on mobile devices or devices without scrollbars (#12736) Change-Id: I1e620342c936ea23eacd2082a0a92b15e453b924
Diffstat (limited to 'uitest/src')
-rw-r--r--uitest/src/com/vaadin/tests/components/table/TableHorizontalScrollPositionOnItemSetChange.html110
-rw-r--r--uitest/src/com/vaadin/tests/components/table/TableHorizontalScrollPositionOnItemSetChange.java101
-rw-r--r--uitest/src/com/vaadin/tests/components/table/TableSizeInTabsheet.java69
-rw-r--r--uitest/src/com/vaadin/tests/components/table/TableSizeInTabsheetTest.java50
4 files changed, 330 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/components/table/TableHorizontalScrollPositionOnItemSetChange.html b/uitest/src/com/vaadin/tests/components/table/TableHorizontalScrollPositionOnItemSetChange.html
new file mode 100644
index 0000000000..6fd54ba0ca
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/table/TableHorizontalScrollPositionOnItemSetChange.html
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="http://localhost:8888/" />
+<title>TableHorizontalScrollPositionOnItemSetChange</title>
+</head>
+<body>
+ <table cellpadding="1" cellspacing="1" border="1">
+ <thead>
+ <tr>
+ <td rowspan="1" colspan="3">TableHorizontalScrollPositionOnItemSetChange</td>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.table.TableHorizontalScrollPositionOnItemSetChange?restartApplication</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>scrollLeft</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableHorizontalScrollPositionOnItemSetChange::PID_Shorscrolltable/domChild[1]</td>
+ <td>326</td>
+ </tr>
+ <tr>
+ <td>pause</td>
+ <td>500</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableHorizontalScrollPositionOnItemSetChange::PID_Slessitems/domChild[0]/domChild[0]</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>pause</td>
+ <td>500</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>left-scroll-position-stays-in-middle-with-fewer-items</td>
+ </tr>
+ <tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableHorizontalScrollPositionOnItemSetChange::PID_Smoreitems/domChild[0]/domChild[0]</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>pause</td>
+ <td>500</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>left-scroll-position-stays-in-middle-with-more-items</td>
+ </tr>
+ <tr>
+ <td>scrollLeft</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableHorizontalScrollPositionOnItemSetChange::PID_Shorscrolltable/domChild[1]</td>
+ <td>653</td>
+ </tr>
+ <tr>
+ <td>pause</td>
+ <td>500</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableHorizontalScrollPositionOnItemSetChange::PID_Slessitems/domChild[0]/domChild[0]</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>pause</td>
+ <td>500</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>left-scroll-position-stays-max-with-fewer-items</td>
+ </tr>
+ <tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableHorizontalScrollPositionOnItemSetChange::PID_Smoreitems/domChild[0]/domChild[0]</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>pause</td>
+ <td>500</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>left-scroll-position-stays-max-with-more-items</td>
+ </tr>
+ <tr>
+ <td>scrollLeft</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableHorizontalScrollPositionOnItemSetChange::PID_Shorscrolltable/domChild[1]</td>
+ <td>0</td>
+ </tr>
+ </tbody>
+ </table>
+</body>
+</html>
diff --git a/uitest/src/com/vaadin/tests/components/table/TableHorizontalScrollPositionOnItemSetChange.java b/uitest/src/com/vaadin/tests/components/table/TableHorizontalScrollPositionOnItemSetChange.java
new file mode 100644
index 0000000000..1f59a84428
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/table/TableHorizontalScrollPositionOnItemSetChange.java
@@ -0,0 +1,101 @@
+/*
+ * 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.components.table;
+
+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.HorizontalLayout;
+import com.vaadin.ui.Table;
+import com.vaadin.ui.VerticalLayout;
+
+public class TableHorizontalScrollPositionOnItemSetChange extends
+ AbstractTestUI {
+
+ @Override
+ protected void setup(VaadinRequest request) {
+ VerticalLayout layout = new VerticalLayout();
+ layout.setMargin(true);
+ layout.setSpacing(true);
+ setContent(layout);
+
+ final Table table = new Table();
+ table.setWidth("640px");
+ table.setHeight("243px");
+ table.setId("horscrolltable");
+ layout.addComponent(table);
+
+ for (int i = 0; i < 15; i++) {
+ table.addContainerProperty("Column " + i, String.class, null);
+ }
+
+ for (int i = 0; i < 60; i++) {
+ table.addItem();
+ }
+
+ Button lessItems = new Button("Less items", new Button.ClickListener() {
+
+ @Override
+ public void buttonClick(Button.ClickEvent event) {
+ table.removeAllItems();
+ for (int i = 0; i < 5; i++) {
+ table.addItem();
+ }
+ }
+ });
+ lessItems.setId("lessitems");
+
+ Button moreItems = new Button("More items", new Button.ClickListener() {
+
+ @Override
+ public void buttonClick(Button.ClickEvent event) {
+ table.removeAllItems();
+ for (int i = 0; i < 50; i++) {
+ table.addItem();
+ }
+ }
+ });
+ moreItems.setId("moreitems");
+
+ Button clearItems = new Button("Clear all", new Button.ClickListener() {
+ @Override
+ public void buttonClick(ClickEvent event) {
+ table.removeAllItems();
+ }
+ });
+
+ HorizontalLayout buttonLayout = new HorizontalLayout();
+ buttonLayout.setSpacing(true);
+ layout.addComponent(buttonLayout);
+
+ buttonLayout.addComponent(lessItems);
+ buttonLayout.addComponent(moreItems);
+ buttonLayout.addComponent(clearItems);
+ clearItems.setId("clearitems");
+ }
+
+ @Override
+ protected String getTestDescription() {
+ return "Horizontal scrolling position should not be lost if amount of items changes in Table.";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 12652;
+ }
+
+}
diff --git a/uitest/src/com/vaadin/tests/components/table/TableSizeInTabsheet.java b/uitest/src/com/vaadin/tests/components/table/TableSizeInTabsheet.java
new file mode 100644
index 0000000000..f84f83718d
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/table/TableSizeInTabsheet.java
@@ -0,0 +1,69 @@
+/*
+ * 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.components.table;
+
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.tests.components.AbstractTestUI;
+import com.vaadin.ui.Component;
+import com.vaadin.ui.CustomComponent;
+import com.vaadin.ui.Layout;
+import com.vaadin.ui.TabSheet;
+import com.vaadin.ui.Table;
+import com.vaadin.ui.VerticalLayout;
+
+@SuppressWarnings("serial")
+public class TableSizeInTabsheet extends AbstractTestUI {
+
+ static final String TABLE = "table";
+ static final String TABSHEET = "tabsheet";
+
+ @Override
+ protected void setup(VaadinRequest request) {
+ VerticalLayout layout = new VerticalLayout();
+ layout.setMargin(true);
+ setContent(layout);
+
+ TabSheet tabSheet = new TabSheet();
+ tabSheet.setId(TABSHEET);
+ layout.addComponent(tabSheet);
+ tabSheet.addTab(new TabComposite(), "Tab");
+ }
+
+ public class TabComposite extends CustomComponent {
+
+ public TabComposite() {
+ Layout mainLayout = new VerticalLayout();
+ addComponent(mainLayout);
+ setCompositionRoot(mainLayout);
+
+ Component table = new Table();
+ table.setWidth("100%");
+ table.setId(TABLE);
+ mainLayout.addComponent(table);
+ }
+ }
+
+ @Override
+ protected String getTestDescription() {
+ return "The size calculations fails in IE8 when undefined size table is inside a tabsheet";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 12687;
+ }
+
+} \ No newline at end of file
diff --git a/uitest/src/com/vaadin/tests/components/table/TableSizeInTabsheetTest.java b/uitest/src/com/vaadin/tests/components/table/TableSizeInTabsheetTest.java
new file mode 100644
index 0000000000..29fc5a2e52
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/table/TableSizeInTabsheetTest.java
@@ -0,0 +1,50 @@
+/*
+ * 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.components.table;
+
+import static com.vaadin.tests.components.table.TableSizeInTabsheet.TABLE;
+import static com.vaadin.tests.components.table.TableSizeInTabsheet.TABSHEET;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebElement;
+
+import com.vaadin.tests.tb3.MultiBrowserTest;
+
+public class TableSizeInTabsheetTest extends MultiBrowserTest {
+
+ private static final String TABSHEET_CONTENT_STYLENAME = "v-tabsheet-content";
+
+ @Test
+ public void testTabsheetContentHasTheSameHeightAsTable() {
+ openTestURL();
+ int tableHeight = getTableHeigth();
+ int tabSheetContentHeight = getTableSheetContentHeight();
+
+ Assert.assertEquals(tableHeight, tabSheetContentHeight);
+ }
+
+ private int getTableHeigth() {
+ return vaadinElementById(TABLE).getSize().getHeight();
+ }
+
+ private int getTableSheetContentHeight() {
+ WebElement tabsheetContent = vaadinElementById(TABSHEET).findElement(
+ By.className(TABSHEET_CONTENT_STYLENAME));
+ return tabsheetContent.getSize().getHeight();
+ }
+}