aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/com/vaadin/tests
diff options
context:
space:
mode:
Diffstat (limited to 'uitest/src/com/vaadin/tests')
-rw-r--r--uitest/src/com/vaadin/tests/VerifyBrowserVersionTest.java2
-rw-r--r--uitest/src/com/vaadin/tests/componentlocator/TestDetachedNotPresent.html1
-rw-r--r--uitest/src/com/vaadin/tests/components/calendar/CalendarActionEventSource.java5
-rw-r--r--uitest/src/com/vaadin/tests/components/embedded/EmbeddedApplet.html36
-rw-r--r--uitest/src/com/vaadin/tests/components/optiongroup/OptionGroupParentDisabled.html2
-rw-r--r--uitest/src/com/vaadin/tests/components/orderedlayout/SpacingLeak.java54
-rw-r--r--uitest/src/com/vaadin/tests/components/orderedlayout/SpacingLeakTest.java39
-rw-r--r--uitest/src/com/vaadin/tests/components/table/TableScrollingWithSQLContainer.java99
-rw-r--r--uitest/src/com/vaadin/tests/components/table/TableScrollingWithSQLContainerTest.java35
-rw-r--r--uitest/src/com/vaadin/tests/components/treetable/TreeTableCacheOnPartialUpdate.html553
-rw-r--r--uitest/src/com/vaadin/tests/components/ui/MultiFileUploadTest.java128
-rw-r--r--uitest/src/com/vaadin/tests/fieldgroup/CommitHandlerFailures.html431
-rw-r--r--uitest/src/com/vaadin/tests/fieldgroup/CommitWithValidationOrConversionError.html296
-rw-r--r--uitest/src/com/vaadin/tests/fieldgroup/IntegerRangeValidator.html3
-rw-r--r--uitest/src/com/vaadin/tests/fonticon/FontIcons.java226
-rw-r--r--uitest/src/com/vaadin/tests/fonticon/FontIconsTest.java36
-rw-r--r--uitest/src/com/vaadin/tests/integration/ServletIntegrationDefaultPushUI.java29
-rw-r--r--uitest/src/com/vaadin/tests/integration/ServletIntegrationDefaultPushUITest.java21
-rw-r--r--uitest/src/com/vaadin/tests/push/ExtremelyLongPushTimeLongPolling.java33
-rw-r--r--uitest/src/com/vaadin/tests/push/ExtremelyLongPushTimeLongPollingTest.java21
-rw-r--r--uitest/src/com/vaadin/tests/push/IdlePushChannelLongPollingTest.java23
-rw-r--r--uitest/src/com/vaadin/tests/push/PushConfigurationTest.java34
-rw-r--r--uitest/src/com/vaadin/tests/push/PushLargeData.java4
-rw-r--r--uitest/src/com/vaadin/tests/push/ReconnectLongPollingTest.java (renamed from uitest/src/com/vaadin/tests/push/LongPollingReconnectTest.java)2
-rwxr-xr-xuitest/src/com/vaadin/tests/push/ReconnectStreamingTest.java (renamed from uitest/src/com/vaadin/tests/push/StreamingReconnectTest.java)2
-rw-r--r--uitest/src/com/vaadin/tests/push/ReconnectTest.java (renamed from uitest/src/com/vaadin/tests/push/PushReconnectTest.java)4
-rw-r--r--uitest/src/com/vaadin/tests/push/ReconnectWebsocketTest.java (renamed from uitest/src/com/vaadin/tests/push/WebsocketReconnectTest.java)2
-rw-r--r--uitest/src/com/vaadin/tests/tb3/MultiBrowserTest.java2
28 files changed, 1151 insertions, 972 deletions
diff --git a/uitest/src/com/vaadin/tests/VerifyBrowserVersionTest.java b/uitest/src/com/vaadin/tests/VerifyBrowserVersionTest.java
index bb0b40e2d1..c2dc400d8b 100644
--- a/uitest/src/com/vaadin/tests/VerifyBrowserVersionTest.java
+++ b/uitest/src/com/vaadin/tests/VerifyBrowserVersionTest.java
@@ -46,7 +46,7 @@ public class VerifyBrowserVersionTest extends MultiBrowserTest {
"Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko");
expectedUserAgent
.put(Browser.CHROME.getDesiredCapabilities(),
- "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.76 Safari/537.36");
+ "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36");
}
diff --git a/uitest/src/com/vaadin/tests/componentlocator/TestDetachedNotPresent.html b/uitest/src/com/vaadin/tests/componentlocator/TestDetachedNotPresent.html
index 24e5e992ca..18129a72e2 100644
--- a/uitest/src/com/vaadin/tests/componentlocator/TestDetachedNotPresent.html
+++ b/uitest/src/com/vaadin/tests/componentlocator/TestDetachedNotPresent.html
@@ -1,4 +1,3 @@
-
<?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">
diff --git a/uitest/src/com/vaadin/tests/components/calendar/CalendarActionEventSource.java b/uitest/src/com/vaadin/tests/components/calendar/CalendarActionEventSource.java
index 5e81750e58..3a5d61d793 100644
--- a/uitest/src/com/vaadin/tests/components/calendar/CalendarActionEventSource.java
+++ b/uitest/src/com/vaadin/tests/components/calendar/CalendarActionEventSource.java
@@ -49,9 +49,8 @@ public class CalendarActionEventSource extends AbstractTestUI {
CalendarEvent event = null;
try {
- event = new BasicEvent("NAME", "TOOLTIP",
- new SimpleDateFormat("yyyy-MM-dd hh:mm")
- .parse("2013-01-01 07:00"),
+ event = new BasicEvent("NAME", null, new SimpleDateFormat(
+ "yyyy-MM-dd hh:mm").parse("2013-01-01 07:00"),
new SimpleDateFormat("yyyy-MM-dd hh:mm")
.parse("2013-01-01 11:00"));
} catch (ParseException e) {
diff --git a/uitest/src/com/vaadin/tests/components/embedded/EmbeddedApplet.html b/uitest/src/com/vaadin/tests/components/embedded/EmbeddedApplet.html
deleted file mode 100644
index d8fb0593d1..0000000000
--- a/uitest/src/com/vaadin/tests/components/embedded/EmbeddedApplet.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<?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="" />
-<title>EmbeddedClickListenerRelativeCoordinates</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
-<thead>
-<tr><td rowspan="1" colspan="3">EmbeddedClickListenerRelativeCoordinates</td></tr>
-</thead><tbody>
-<tr>
- <td>open</td>
- <td>/run/com.vaadin.tests.components.embedded.EmbeddedApplet?restartApplication</td>
- <td></td>
-</tr>
-<tr>
- <td>screenCapture</td>
- <td></td>
- <td>with-applet</td>
-</tr>
-<tr>
- <td>click</td>
- <td>vaadin=runcomvaadintestscomponentsembeddedEmbeddedApplet::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
- <td></td>
-</tr>
-<tr>
- <td>screenCapture</td>
- <td></td>
- <td>without-applet</td>
-</tr>
-</tbody></table>
-</body>
-</html>
diff --git a/uitest/src/com/vaadin/tests/components/optiongroup/OptionGroupParentDisabled.html b/uitest/src/com/vaadin/tests/components/optiongroup/OptionGroupParentDisabled.html
index 80d10a05ca..db5a268ecd 100644
--- a/uitest/src/com/vaadin/tests/components/optiongroup/OptionGroupParentDisabled.html
+++ b/uitest/src/com/vaadin/tests/components/optiongroup/OptionGroupParentDisabled.html
@@ -1,4 +1,4 @@
-?xml version="1.0" encoding="UTF-8"?>
+<?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">
diff --git a/uitest/src/com/vaadin/tests/components/orderedlayout/SpacingLeak.java b/uitest/src/com/vaadin/tests/components/orderedlayout/SpacingLeak.java
new file mode 100644
index 0000000000..647c187568
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/orderedlayout/SpacingLeak.java
@@ -0,0 +1,54 @@
+package com.vaadin.tests.components.orderedlayout;
+
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.HorizontalLayout;
+import com.vaadin.ui.UI;
+import com.vaadin.ui.VerticalLayout;
+
+/**
+ * HorizontalLayout and VerticalLayout should not leak .v-spacing elements via
+ * listeners when removing components from a layout.
+ *
+ * @since 7.1.12
+ * @author Vaadin Ltd
+ */
+public class SpacingLeak extends UI {
+
+ private HorizontalLayout spacingLayout;
+
+ @Override
+ public void init(VaadinRequest req) {
+ final VerticalLayout root = new VerticalLayout();
+ setContent(root);
+ root.setSizeUndefined();
+
+ final Button spacingButton = new Button("Add layout with spacing");
+ spacingButton.setId("addbutton");
+ root.addComponent(spacingButton);
+ spacingButton.addClickListener(new Button.ClickListener() {
+ @Override
+ public void buttonClick(Button.ClickEvent event) {
+ spacingLayout = new HorizontalLayout();
+ spacingLayout.setSpacing(true);
+ spacingLayout.setWidth("100%");
+
+ for (int i = 0; i < 100; ++i) {
+ spacingLayout.addComponent(new Button("" + i));
+ }
+
+ root.addComponent(spacingLayout);
+ }
+ });
+
+ final Button removeButton = new Button("Remove layouts");
+ removeButton.setId("removebutton");
+ root.addComponent(removeButton);
+ removeButton.addClickListener(new Button.ClickListener() {
+ @Override
+ public void buttonClick(Button.ClickEvent event) {
+ root.removeComponent(spacingLayout);
+ }
+ });
+ }
+}
diff --git a/uitest/src/com/vaadin/tests/components/orderedlayout/SpacingLeakTest.java b/uitest/src/com/vaadin/tests/components/orderedlayout/SpacingLeakTest.java
new file mode 100644
index 0000000000..3a24cb7620
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/orderedlayout/SpacingLeakTest.java
@@ -0,0 +1,39 @@
+/*
+ * 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.orderedlayout;
+
+import org.junit.Test;
+import org.openqa.selenium.By;
+
+import com.vaadin.tests.tb3.MultiBrowserTest;
+
+public class SpacingLeakTest extends MultiBrowserTest {
+
+ @Test
+ public void testSpacingLeak() throws Exception {
+ setDebug(true);
+ openTestURL();
+ getDriver().findElement(By.id("addbutton")).click();
+ getDriver().findElement(By.xpath("//button[@title = 'Clear log']"))
+ .click();
+ getDriver().findElement(By.id("removebutton")).click();
+
+ // this should be present
+ getDriver()
+ .findElement(
+ By.xpath("//span[text() = 'Measured 0 non connector elements']"));
+ }
+}
diff --git a/uitest/src/com/vaadin/tests/components/table/TableScrollingWithSQLContainer.java b/uitest/src/com/vaadin/tests/components/table/TableScrollingWithSQLContainer.java
new file mode 100644
index 0000000000..764207ff13
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/table/TableScrollingWithSQLContainer.java
@@ -0,0 +1,99 @@
+package com.vaadin.tests.components.table;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+import com.vaadin.data.util.sqlcontainer.SQLContainer;
+import com.vaadin.data.util.sqlcontainer.connection.JDBCConnectionPool;
+import com.vaadin.data.util.sqlcontainer.connection.SimpleJDBCConnectionPool;
+import com.vaadin.data.util.sqlcontainer.query.QueryDelegate;
+import com.vaadin.data.util.sqlcontainer.query.TableQuery;
+import com.vaadin.data.util.sqlcontainer.query.generator.DefaultSQLGenerator;
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.Button.ClickListener;
+import com.vaadin.ui.Table;
+import com.vaadin.ui.UI;
+import com.vaadin.ui.VerticalLayout;
+
+@SuppressWarnings("serial")
+public class TableScrollingWithSQLContainer extends UI {
+
+ /** Table should never end up calling indexOfId in this case */
+ private class LimitedSQLContainer extends SQLContainer {
+
+ public LimitedSQLContainer(QueryDelegate delegate) throws SQLException {
+ super(delegate);
+ }
+
+ @Override
+ public int indexOfId(Object itemId) {
+ throw new RuntimeException("This function should not be called");
+ }
+ }
+
+ private void generateTestData(JDBCConnectionPool connectionPool)
+ throws SQLException {
+ Connection conn = connectionPool.reserveConnection();
+ Statement statement = conn.createStatement();
+ try {
+ statement.execute("drop table PEOPLE");
+ } catch (SQLException e) {
+ // Will fail if table doesn't exist, which is OK.
+ conn.rollback();
+ }
+ statement
+ .execute("create table people (id integer generated always as identity,"
+ + " name varchar(32), AGE INTEGER)");
+ statement.execute("alter table people add primary key (id)");
+ for (int i = 0; i < 5000; i++) {
+ statement
+ .executeUpdate("insert into people values(default, 'Person "
+ + i + "', '" + i % 99 + "')");
+ }
+ statement.close();
+ conn.commit();
+ connectionPool.releaseConnection(conn);
+ }
+
+ static final String TABLE = "table";
+
+ @Override
+ public void init(VaadinRequest request) {
+ try {
+ SimpleJDBCConnectionPool connectionPool = new SimpleJDBCConnectionPool(
+ "org.hsqldb.jdbc.JDBCDriver",
+ "jdbc:hsqldb:mem:sqlcontainer", "SA", "", 2, 20);
+ generateTestData(connectionPool);
+
+ TableQuery query = new TableQuery("people", connectionPool,
+ new DefaultSQLGenerator());
+
+ SQLContainer container = new LimitedSQLContainer(query);
+
+ final VerticalLayout rootLayout = new VerticalLayout();
+
+ final Table table = new Table();
+ table.setContainerDataSource(container);
+ table.setCurrentPageFirstItemIndex(300);
+ rootLayout.addComponent(table);
+
+ table.setImmediate(true);
+
+ rootLayout.addComponent(new Button("GOTO 200", new ClickListener() {
+
+ @Override
+ public void buttonClick(ClickEvent event) {
+ table.setCurrentPageFirstItemIndex(200);
+ }
+ }));
+
+ setContent(rootLayout);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+} \ No newline at end of file
diff --git a/uitest/src/com/vaadin/tests/components/table/TableScrollingWithSQLContainerTest.java b/uitest/src/com/vaadin/tests/components/table/TableScrollingWithSQLContainerTest.java
new file mode 100644
index 0000000000..97c780e0e8
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/table/TableScrollingWithSQLContainerTest.java
@@ -0,0 +1,35 @@
+/*
+ * 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 org.junit.Assert;
+import org.junit.Test;
+import org.openqa.selenium.By;
+
+import com.vaadin.tests.tb3.MultiBrowserTest;
+
+public class TableScrollingWithSQLContainerTest extends MultiBrowserTest {
+
+ @Test
+ public void verifySQLContainerIndexOfIDNotCalled() {
+ openTestURL();
+
+ vaadinElement("/VVerticalLayout[0]/VButton[0]").click();
+
+ Assert.assertTrue("SQLContainer indexOfId was called", driver
+ .findElements(By.className("v-errorindicator")).isEmpty());
+ }
+}
diff --git a/uitest/src/com/vaadin/tests/components/treetable/TreeTableCacheOnPartialUpdate.html b/uitest/src/com/vaadin/tests/components/treetable/TreeTableCacheOnPartialUpdate.html
deleted file mode 100644
index df1656dd23..0000000000
--- a/uitest/src/com/vaadin/tests/components/treetable/TreeTableCacheOnPartialUpdate.html
+++ /dev/null
@@ -1,553 +0,0 @@
-<?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="" />
-<title>TreeTableCacheOnPartialUpdates</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
-<thead>
-<tr><td rowspan="1" colspan="3">TreeTableCacheOnPartialUpdates</td></tr>
-</thead><tbody>
-<tr>
- <td>open</td>
- <td>/run/com.vaadin.tests.components.treetable.TreeTableCacheOnPartialUpdates?restartApplication</td>
- <td></td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-1 (children)-A</td>
- <td>47,5</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-2-B</td>
- <td>46,7</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-7 (children)-G</td>
- <td>54,12</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_2</td>
- <td>1. Button Item TestBean [col1=1 (children), col2=A]/col3 clicked. Row index: 0</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_1</td>
- <td>2. Button Item TestBean [col1=2, col2=B]/col3 clicked. Row index: 1</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>3. Button Item TestBean [col1=7 (children), col2=G]/col3 clicked. Row index: 6</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButtonToggle-1 (children)-A</td>
- <td>10,7</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>4. Row Item TestBean [col1=1 (children), col2=A] expanded. Row index: 0</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-1 (children)-A</td>
- <td>81,6</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-1.1-A.A</td>
- <td>73,8</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-1 (children)-A</td>
- <td>86,7</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-1.5-A.E</td>
- <td>72,2</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-2-B</td>
- <td>73,7</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_4</td>
- <td>5. Button Item TestBean [col1=1 (children), col2=A]/col3 clicked. Row index: 0</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_3</td>
- <td>6. Button Item TestBean [col1=1.1, col2=A.A]/col3 clicked. Row index: 1</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_2</td>
- <td>7. Button Item TestBean [col1=1 (children), col2=A]/col3 clicked. Row index: 0</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_1</td>
- <td>8. Button Item TestBean [col1=1.5, col2=A.E]/col3 clicked. Row index: 5</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>9. Button Item TestBean [col1=2, col2=B]/col3 clicked. Row index: 6</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButtonToggle-1 (children)-A</td>
- <td>11,2</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>10. Row Item TestBean [col1=1 (children), col2=A] collapsed. Row index: 0</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-1 (children)-A</td>
- <td>76,5</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-3 (children)-C</td>
- <td>58,7</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-2-B</td>
- <td>69,10</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-1 (children)-A</td>
- <td>78,7</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_4</td>
- <td>10. Row Item TestBean [col1=1 (children), col2=A] collapsed. Row index: 0</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_3</td>
- <td>11. Button Item TestBean [col1=1 (children), col2=A]/col3 clicked. Row index: 0</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_2</td>
- <td>12. Button Item TestBean [col1=3 (children), col2=C]/col3 clicked. Row index: 2</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_1</td>
- <td>13. Button Item TestBean [col1=2, col2=B]/col3 clicked. Row index: 1</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>14. Button Item TestBean [col1=1 (children), col2=A]/col3 clicked. Row index: 0</td>
-</tr>
-<tr>
- <td>scroll</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTreeTable[0]/domChild[1]</td>
- <td>30000</td>
-</tr>
-<tr>
- <td>pause</td>
- <td>1000</td>
- <td></td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-100-CV</td>
- <td>53,-2462</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-93-CO</td>
- <td>91,-2452</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-87-CI</td>
- <td>84,-2461</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-100-CV</td>
- <td>102,-2452</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_3</td>
- <td>15. Button Item TestBean [col1=100, col2=CV]/col3 clicked. Row index: 99</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_2</td>
- <td>16. Button Item TestBean [col1=93, col2=CO]/col3 clicked. Row index: 92</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_1</td>
- <td>17. Button Item TestBean [col1=87, col2=CI]/col3 clicked. Row index: 86</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>18. Button Item TestBean [col1=100, col2=CV]/col3 clicked. Row index: 99</td>
-</tr>
-<!-- This relies on the row height being the same in all browsers. -->
-<tr>
- <td>scroll</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTreeTable[0]/domChild[1]</td>
- <td>990</td>
-</tr>
-<tr>
- <td>pause</td>
- <td>1000</td>
- <td></td>
-</tr>
-<tr>
- <td>screenCapture</td>
- <td></td>
- <td>scrolled</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTreeTable[0]/FocusableScrollPanel[0]/VTreeTable$VTreeTableScrollBody[0]/VTreeTable$VTreeTableScrollBody$VTreeTableRow[34]/VNativeButton[0]</td>
- <td>34,-994</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButtonToggle-40 (children)-AN</td>
- <td>9,-995</td>
-</tr>
-<tr>
- <td>pause</td>
- <td>1000</td>
- <td></td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>20. Row Item TestBean [col1=40 (children), col2=AN] expanded. Row index: 39</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-40 (children)-AN</td>
- <td>93,-991</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>21. Button Item TestBean [col1=40 (children), col2=AN]/col3 clicked. Row index: 39</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-40.1-AN.A</td>
- <td>123,-991</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>22. Button Item TestBean [col1=40.1, col2=AN.A]/col3 clicked. Row index: 40</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-40.6-AN.F</td>
- <td>114,-1000</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>23. Button Item TestBean [col1=40.6, col2=AN.F]/col3 clicked. Row index: 45</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-40 (children)-AN</td>
- <td>118,-993</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>24. Button Item TestBean [col1=40 (children), col2=AN]/col3 clicked. Row index: 39</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButtonToggle-40 (children)-AN</td>
- <td>9,-998</td>
-</tr>
-<tr>
- <td>pause</td>
- <td>1000</td>
- <td></td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>25. Row Item TestBean [col1=40 (children), col2=AN] collapsed. Row index: 39</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-40 (children)-AN</td>
- <td>42,-990</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>26. Button Item TestBean [col1=40 (children), col2=AN]/col3 clicked. Row index: 39</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-35-AI</td>
- <td>84,-990</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>27. Button Item TestBean [col1=35, col2=AI]/col3 clicked. Row index: 34</td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>cacheTestButton-48-AV</td>
- <td></td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-48-AV</td>
- <td>98,-998</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>28. Button Item TestBean [col1=48, col2=AV]/col3 clicked. Row index: 47</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-41-AO</td>
- <td>101,-994</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>29. Button Item TestBean [col1=41, col2=AO]/col3 clicked. Row index: 40</td>
-</tr>
-<tr>
- <td>scroll</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTreeTable[0]/domChild[1]</td>
- <td>2465</td>
-</tr>
-<tr>
- <td>pause</td>
- <td>1000</td>
- <td></td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-86-CH</td>
- <td>136,-2447</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-98-CT</td>
- <td>131,-2462</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-99 (children)-CU</td>
- <td>134,-2459</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-100-CV</td>
- <td>144,-2454</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_3</td>
- <td>30. Button Item TestBean [col1=86, col2=CH]/col3 clicked. Row index: 85</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_2</td>
- <td>31. Button Item TestBean [col1=98, col2=CT]/col3 clicked. Row index: 97</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_1</td>
- <td>32. Button Item TestBean [col1=99 (children), col2=CU]/col3 clicked. Row index: 98</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>33. Button Item TestBean [col1=100, col2=CV]/col3 clicked. Row index: 99</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButtonToggle-99 (children)-CU</td>
- <td>10,-2461</td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>cacheTestButton-99 (children)-CU</td>
- <td></td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-99 (children)-CU</td>
- <td>65,-2456</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_1</td>
- <td>34. Row Item TestBean [col1=99 (children), col2=CU] expanded. Row index: 98</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>35. Button Item TestBean [col1=99 (children), col2=CU]/col3 clicked. Row index: 98</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-86-CH</td>
- <td>109,-2455</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>36. Button Item TestBean [col1=86, col2=CH]/col3 clicked. Row index: 85</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-99.1-CU.A</td>
- <td>82,-2457</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>37. Button Item TestBean [col1=99.1, col2=CU.A]/col3 clicked. Row index: 99</td>
-</tr>
-<tr>
- <td>scroll</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTreeTable[0]/domChild[1]</td>
- <td>2800</td>
-</tr>
-<tr>
- <td>pause</td>
- <td>1000</td>
- <td></td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-99 (children)-CU</td>
- <td>85,-2792</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-98-CT</td>
- <td>101,-2788</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-99.1-CU.A</td>
- <td>111,-2794</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-99.13-CU.M</td>
- <td>113,-2794</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_3</td>
- <td>38. Button Item TestBean [col1=99 (children), col2=CU]/col3 clicked. Row index: 98</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_2</td>
- <td>39. Button Item TestBean [col1=98, col2=CT]/col3 clicked. Row index: 97</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_1</td>
- <td>40. Button Item TestBean [col1=99.1, col2=CU.A]/col3 clicked. Row index: 99</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>41. Button Item TestBean [col1=99.13, col2=CU.M]/col3 clicked. Row index: 111</td>
-</tr>
-<!--collapse 99-->
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButtonToggle-99 (children)-CU</td>
- <td>11,-2792</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>42. Row Item TestBean [col1=99 (children), col2=CU] collapsed. Row index: 98</td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>cacheTestButton-99 (children)-CU</td>
- <td></td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-99 (children)-CU</td>
- <td>71,-2465</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>43. Button Item TestBean [col1=99 (children), col2=CU]/col3 clicked. Row index: 98</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-100-CV</td>
- <td>81,-2459</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>44. Button Item TestBean [col1=100, col2=CV]/col3 clicked. Row index: 99</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-98-CT</td>
- <td>80,-2458</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>45. Button Item TestBean [col1=98, col2=CT]/col3 clicked. Row index: 97</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-87-CI</td>
- <td>86,-2462</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>46. Button Item TestBean [col1=87, col2=CI]/col3 clicked. Row index: 86</td>
-</tr>
-</tbody></table>
-</body>
-</html>
diff --git a/uitest/src/com/vaadin/tests/components/ui/MultiFileUploadTest.java b/uitest/src/com/vaadin/tests/components/ui/MultiFileUploadTest.java
new file mode 100644
index 0000000000..8f3e08335f
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/ui/MultiFileUploadTest.java
@@ -0,0 +1,128 @@
+/*
+ * 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.ui;
+
+import java.io.IOException;
+import java.io.OutputStream;
+
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.tests.components.AbstractTestUIWithLog;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.Button.ClickListener;
+import com.vaadin.ui.Upload;
+import com.vaadin.ui.Upload.ChangeEvent;
+import com.vaadin.ui.Upload.ChangeListener;
+import com.vaadin.ui.Upload.FailedEvent;
+import com.vaadin.ui.Upload.FailedListener;
+import com.vaadin.ui.Upload.Receiver;
+import com.vaadin.ui.Upload.SucceededEvent;
+import com.vaadin.ui.Upload.SucceededListener;
+import com.vaadin.ui.VerticalLayout;
+
+public class MultiFileUploadTest extends AbstractTestUIWithLog {
+
+ private ChangeListener changeListener = new ChangeListener() {
+
+ @Override
+ public void filenameChanged(ChangeEvent event) {
+ if (event.getFilename().equals("")) {
+ removeUpload(event.getSource());
+ } else {
+ addUpload();
+ }
+
+ }
+ };
+ private VerticalLayout uploadsLayout = new VerticalLayout();
+
+ @Override
+ protected void setup(VaadinRequest request) {
+ getPage().getStyles().add(
+ ".v-upload-hidden-button .v-button {display:none};");
+ addUpload();
+ addComponent(uploadsLayout);
+ addComponent(new Button("Upload files", new ClickListener() {
+
+ @Override
+ public void buttonClick(ClickEvent event) {
+ for (Upload u : getUploads()) {
+ u.submitUpload();
+ }
+ }
+ }));
+ }
+
+ protected Iterable<Upload> getUploads() {
+ return (Iterable) uploadsLayout;
+ }
+
+ protected void removeUpload(Upload source) {
+ uploadsLayout.removeComponent(source);
+
+ }
+
+ protected void addUpload() {
+ Upload upload = createUpload();
+ upload.addSucceededListener(new SucceededListener() {
+
+ @Override
+ public void uploadSucceeded(SucceededEvent event) {
+ log("Upload of " + event.getFilename() + " complete");
+ uploadsLayout.removeComponent(event.getUpload());
+ }
+ });
+
+ upload.addFailedListener(new FailedListener() {
+ @Override
+ public void uploadFailed(FailedEvent event) {
+ log("Upload of " + event.getFilename() + " FAILED");
+ }
+ });
+
+ upload.setReceiver(new Receiver() {
+ @Override
+ public OutputStream receiveUpload(String filename, String mimeType) {
+ return new OutputStream() {
+ @Override
+ public void write(int arg0) throws IOException {
+
+ }
+ };
+ }
+ });
+ upload.setStyleName("hidden-button");
+ uploadsLayout.addComponent(upload);
+
+ }
+
+ private Upload createUpload() {
+ Upload upload = new Upload();
+ upload.addChangeListener(changeListener);
+ return upload;
+ }
+
+ @Override
+ protected String getTestDescription() {
+ return "Tests that an Upload change event can be used to create a multiple file upload component";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 13222;
+ }
+
+}
diff --git a/uitest/src/com/vaadin/tests/fieldgroup/CommitHandlerFailures.html b/uitest/src/com/vaadin/tests/fieldgroup/CommitHandlerFailures.html
index f0fe883d57..aaaa0a6625 100644
--- a/uitest/src/com/vaadin/tests/fieldgroup/CommitHandlerFailures.html
+++ b/uitest/src/com/vaadin/tests/fieldgroup/CommitHandlerFailures.html
@@ -1,220 +1,215 @@
-package com.vaadin.tests.fieldgroup;
+<?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="" />
+<title>New Test</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">New Test</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.fieldgroup.BasicPersonForm?restartApplication</td>
+ <td></td>
+</tr>
+<!--assert we are starting with what we think we are starting with-->
+<tr>
+ <td>assertValue</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VTextField[0]</td>
+ <td>John</td>
+</tr>
+<tr>
+ <td>assertValue</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTextArea[0]</td>
+ <td>Doe</td>
+</tr>
+<tr>
+ <td>assertValue</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VTextField[0]</td>
+ <td>john@doe.com</td>
+</tr>
+<tr>
+ <td>assertValue</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[5]/VTextField[0]</td>
+ <td>64</td>
+</tr>
+<tr>
+ <td>assertCSSClass</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[6]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>v-selected</td>
+</tr>
+<tr>
+ <td>assertNotCSSClass</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[6]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]</td>
+ <td>v-selected</td>
+</tr>
+<tr>
+ <td>assertValue</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[7]/VTextField[0]</td>
+ <td>NAAAAAH</td>
+</tr>
+<!--Make changes to fields-->
+<tr>
+ <td>enterCharacter</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTextArea[0]</td>
+ <td>Doeve</td>
+</tr>
+<tr>
+ <td>enterCharacter</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VTextField[0]</td>
+ <td>Mike</td>
+</tr>
+<tr>
+ <td>enterCharacter</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VTextField[0]</td>
+ <td>me@me.com</td>
+</tr>
+<tr>
+ <td>enterCharacter</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[5]/VTextField[0]</td>
+ <td>12</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[6]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]/domChild[0]</td>
+ <td>31,10</td>
+</tr>
+<!--show bean values-->
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[10]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
+ <td>1. Person [firstName=John, lastName=Doe, email=john@doe.com, age=64, sex=Male, address=Address [streetAddress=John street, postalCode=11223, city=John's town, country=USA], deceased=false, salary=null, salaryDouble=null, rent=null]</td>
+</tr>
+<!--pre commit fails-->
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VPanel[0]/VVerticalLayout[0]/ChildComponentContainer[1]/VCheckBox[0]/domChild[0]</td>
+ <td>35,6</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[8]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>closeNotification</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::Root/VNotification[0]</td>
+ <td>0,0</td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
+ <td>2. Commit failed: Commit failed</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[10]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
+ <td>3. Person [firstName=John, lastName=Doe, email=john@doe.com, age=64, sex=Male, address=Address [streetAddress=John street, postalCode=11223, city=John's town, country=USA], deceased=false, salary=null, salaryDouble=null, rent=null]</td>
+</tr>
+<!--post commit fails-->
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VPanel[0]/VVerticalLayout[0]/ChildComponentContainer[1]/VCheckBox[0]/domChild[0]</td>
+ <td>10,7</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VPanel[0]/VVerticalLayout[0]/ChildComponentContainer[0]/VCheckBox[0]/domChild[0]</td>
+ <td>9,7</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[8]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>closeNotification</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::Root/VNotification[0]</td>
+ <td>0,0</td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
+ <td>4. Commit failed: Commit failed</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[10]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
+ <td>5. Person [firstName=John, lastName=Doe, email=john@doe.com, age=64, sex=Male, address=Address [streetAddress=John street, postalCode=11223, city=John's town, country=USA], deceased=false, salary=null, salaryDouble=null, rent=null]</td>
+</tr>
+<!--discard and ensure old values are returned as all commits have failed-->
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[9]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertValue</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VTextField[0]</td>
+ <td>John</td>
+</tr>
+<tr>
+ <td>assertValue</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTextArea[0]</td>
+ <td>Doe</td>
+</tr>
+<tr>
+ <td>assertValue</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VTextField[0]</td>
+ <td>john@doe.com</td>
+</tr>
+<tr>
+ <td>assertValue</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[5]/VTextField[0]</td>
+ <td>64</td>
+</tr>
+<tr>
+ <td>assertCSSClass</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[6]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>v-selected</td>
+</tr>
+<tr>
+ <td>assertNotCSSClass</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[6]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]</td>
+ <td>v-selected</td>
+</tr>
+<tr>
+ <td>assertValue</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[7]/VTextField[0]</td>
+ <td>NAAAAAH</td>
+</tr>
+<!--show bean values-->
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[10]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
+ <td>7. Person [firstName=John, lastName=Doe, email=john@doe.com, age=64, sex=Male, address=Address [streetAddress=John street, postalCode=11223, city=John's town, country=USA], deceased=false, salary=null, salaryDouble=null, rent=null]</td>
+</tr>
-public class CommitHandlerFailures_html {
- <?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="" />
- <title>New Test</title>
- </head>
- <body>
- <table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr><td rowspan="1" colspan="3">New Test</td></tr>
- </thead><tbody>
- <tr>
- <td>open</td>
- <td>/run/com.vaadin.tests.fieldgroup.BasicPersonForm?restartApplication</td>
- <td></td>
- </tr>
- <!--assert we are starting with what we think we are starting with-->
- <tr>
- <td>assertValue</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VTextField[0]</td>
- <td>John</td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTextArea[0]</td>
- <td>Doe</td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VTextField[0]</td>
- <td>john@doe.com</td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[5]/VTextField[0]</td>
- <td>64</td>
- </tr>
- <tr>
- <td>assertCSSClass</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[6]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
- <td>v-selected</td>
- </tr>
- <tr>
- <td>assertNotCSSClass</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[6]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]</td>
- <td>v-selected</td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[7]/VTextField[0]</td>
- <td>NAAAAAH</td>
- </tr>
- <!--Make changes to fields-->
- <tr>
- <td>enterCharacter</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTextArea[0]</td>
- <td>Doeve</td>
- </tr>
- <tr>
- <td>enterCharacter</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VTextField[0]</td>
- <td>Mike</td>
- </tr>
- <tr>
- <td>enterCharacter</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VTextField[0]</td>
- <td>me@me.com</td>
- </tr>
- <tr>
- <td>enterCharacter</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[5]/VTextField[0]</td>
- <td>12</td>
- </tr>
- <tr>
- <td>mouseClick</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[6]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]/domChild[0]</td>
- <td>31,10</td>
- </tr>
- <!--show bean values-->
- <tr>
- <td>click</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[10]/VButton[0]/domChild[0]/domChild[0]</td>
- <td></td>
- </tr>
- <tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
- <td>1. Person [firstName=John, lastName=Doe, email=john@doe.com, age=64, sex=Male, address=Address [streetAddress=John street, postalCode=11223, city=John's town, country=USA], deceased=false, salary=null, salaryDouble=null, rent=null]</td>
- </tr>
- <!--pre commit fails-->
- <tr>
- <td>mouseClick</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VPanel[0]/VVerticalLayout[0]/ChildComponentContainer[1]/VCheckBox[0]/domChild[0]</td>
- <td>35,6</td>
- </tr>
- <tr>
- <td>click</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[8]/VButton[0]/domChild[0]/domChild[0]</td>
- <td></td>
- </tr>
- <tr>
- <td>closeNotification</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::Root/VNotification[0]</td>
- <td>0,0</td>
- </tr>
- <tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
- <td>2. Commit failed: Commit failed</td>
- </tr>
- <tr>
- <td>click</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[10]/VButton[0]/domChild[0]/domChild[0]</td>
- <td></td>
- </tr>
- <tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
- <td>3. Person [firstName=John, lastName=Doe, email=john@doe.com, age=64, sex=Male, address=Address [streetAddress=John street, postalCode=11223, city=John's town, country=USA], deceased=false, salary=null, salaryDouble=null, rent=null]</td>
- </tr>
- <!--post commit fails-->
- <tr>
- <td>mouseClick</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VPanel[0]/VVerticalLayout[0]/ChildComponentContainer[1]/VCheckBox[0]/domChild[0]</td>
- <td>10,7</td>
- </tr>
- <tr>
- <td>mouseClick</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VPanel[0]/VVerticalLayout[0]/ChildComponentContainer[0]/VCheckBox[0]/domChild[0]</td>
- <td>9,7</td>
- </tr>
- <tr>
- <td>click</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[8]/VButton[0]/domChild[0]/domChild[0]</td>
- <td></td>
- </tr>
- <tr>
- <td>closeNotification</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::Root/VNotification[0]</td>
- <td>0,0</td>
- </tr>
- <tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
- <td>4. Commit failed: Commit failed</td>
- </tr>
- <tr>
- <td>click</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[10]/VButton[0]/domChild[0]/domChild[0]</td>
- <td></td>
- </tr>
- <tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
- <td>5. Person [firstName=John, lastName=Doe, email=john@doe.com, age=64, sex=Male, address=Address [streetAddress=John street, postalCode=11223, city=John's town, country=USA], deceased=false, salary=null, salaryDouble=null, rent=null]</td>
- </tr>
- <!--discard and ensure old values are returned as all commits have failed-->
- <tr>
- <td>click</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[9]/VButton[0]/domChild[0]/domChild[0]</td>
- <td></td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VTextField[0]</td>
- <td>John</td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTextArea[0]</td>
- <td>Doe</td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VTextField[0]</td>
- <td>john@doe.com</td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[5]/VTextField[0]</td>
- <td>64</td>
- </tr>
- <tr>
- <td>assertCSSClass</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[6]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
- <td>v-selected</td>
- </tr>
- <tr>
- <td>assertNotCSSClass</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[6]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]</td>
- <td>v-selected</td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[7]/VTextField[0]</td>
- <td>NAAAAAH</td>
- </tr>
- <!--show bean values-->
- <tr>
- <td>click</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[10]/VButton[0]/domChild[0]/domChild[0]</td>
- <td></td>
- </tr>
- <tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
- <td>7. Person [firstName=John, lastName=Doe, email=john@doe.com, age=64, sex=Male, address=Address [streetAddress=John street, postalCode=11223, city=John's town, country=USA], deceased=false, salary=null, salaryDouble=null, rent=null]</td>
- </tr>
-
- </tbody></table>
- </body>
- </html>
-
-}
+</tbody></table>
+</body>
+</html>
diff --git a/uitest/src/com/vaadin/tests/fieldgroup/CommitWithValidationOrConversionError.html b/uitest/src/com/vaadin/tests/fieldgroup/CommitWithValidationOrConversionError.html
index e32633513b..8681c6485e 100644
--- a/uitest/src/com/vaadin/tests/fieldgroup/CommitWithValidationOrConversionError.html
+++ b/uitest/src/com/vaadin/tests/fieldgroup/CommitWithValidationOrConversionError.html
@@ -1,150 +1,148 @@
- <?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="" />
- <title>New Test</title>
- </head>
- <body>
- <table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr><td rowspan="1" colspan="3">New Test</td></tr>
- </thead><tbody>
- <tr>
- <td>open</td>
- <td>/run/com.vaadin.tests.fieldgroup.BasicPersonForm?restartApplication</td>
- <td></td>
- </tr>
- <tr>
- <td>enterCharacter</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTextArea[0]</td>
- <td>Doev</td>
- </tr>
- <!--commit with invalid field must fail-->
- <tr>
- <td>click</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[8]/VButton[0]/domChild[0]</td>
- <td></td>
- </tr>
- <tr>
- <td>closeNotification</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::Root/VNotification[0]</td>
- <td>0,0</td>
- </tr>
- <tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
- <td>1. Commit failed: Commit failed</td>
- </tr>
- <tr>
- <td>click</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[10]/VButton[0]/domChild[0]/domChild[0]</td>
- <td></td>
- </tr>
- <tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
- <td>2. Person [firstName=John, lastName=Doe, email=john@doe.com, age=64, sex=Male, address=Address [streetAddress=John street, postalCode=11223, city=John's town, country=USA], deceased=false, salary=null, salaryDouble=null, rent=null]</td>
- </tr>
- <tr>
- <td>enterCharacter</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[5]/VTextField[0]</td>
- <td>64,2</td>
- </tr>
- <!--commit with 2 fails-->
- <tr>
- <td>click</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[8]/VButton[0]/domChild[0]/domChild[0]</td>
- <td></td>
- </tr>
- <tr>
- <td>closeNotification</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::Root/VNotification[0]</td>
- <td>0,0</td>
- </tr>
- <tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
- <td>3. Commit failed: Commit failed</td>
- </tr>
- <tr>
- <td>enterCharacter</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTextArea[0]</td>
- <td>Doever</td>
- </tr>
- <!--1 error fixed, still 1 conversion error-->
- <tr>
- <td>click</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[8]/VButton[0]/domChild[0]/domChild[0]</td>
- <td></td>
- </tr>
- <tr>
- <td>closeNotification</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::Root/VNotification[0]</td>
- <td>0,0</td>
- </tr>
- <tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
- <td>4. Commit failed: Commit failed</td>
- </tr>
- <tr>
- <td>enterCharacter</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[5]/VTextField[0]</td>
- <td>123</td>
- </tr>
- <!--all fields ok, commit should be ok-->
- <tr>
- <td>click</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[8]/VButton[0]/domChild[0]/domChild[0]</td>
- <td></td>
- </tr>
- <tr>
- <td>closeNotification</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::Root/VNotification[0]</td>
- <td>0,0</td>
- </tr>
- <tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
- <td>5. Commit succesful</td>
- </tr>
- <tr>
- <td>click</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[10]/VButton[0]/domChild[0]/domChild[0]</td>
- <td></td>
- </tr>
- <tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
- <td>6. Person [firstName=John, lastName=Doever, email=john@doe.com, age=123, sex=Male, address=Address [streetAddress=John street, postalCode=11223, city=John's town, country=USA], deceased=false, salary=null, salaryDouble=null, rent=null]</td>
- </tr>
- <!--discard should now have no effect-->
- <tr>
- <td>click</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[9]/VButton[0]/domChild[0]/domChild[0]</td>
- <td></td>
- </tr>
- <tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
- <td>7. Discarded changes</td>
- </tr>
- <tr>
- <td>click</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[10]/VButton[0]/domChild[0]</td>
- <td></td>
- </tr>
- <tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
- <td>8. Person [firstName=John, lastName=Doever, email=john@doe.com, age=123, sex=Male, address=Address [streetAddress=John street, postalCode=11223, city=John's town, country=USA], deceased=false, salary=null, salaryDouble=null, rent=null]</td>
- </tr>
-
- </tbody></table>
- </body>
- </html>
-
-}
+<?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="" />
+<title>New Test</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">New Test</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.fieldgroup.BasicPersonForm?restartApplication</td>
+ <td></td>
+</tr>
+<tr>
+ <td>enterCharacter</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTextArea[0]</td>
+ <td>Doev</td>
+</tr>
+<!--commit with invalid field must fail-->
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[8]/VButton[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>closeNotification</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::Root/VNotification[0]</td>
+ <td>0,0</td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
+ <td>1. Commit failed: Commit failed</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[10]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
+ <td>2. Person [firstName=John, lastName=Doe, email=john@doe.com, age=64, sex=Male, address=Address [streetAddress=John street, postalCode=11223, city=John's town, country=USA], deceased=false, salary=null, salaryDouble=null, rent=null]</td>
+</tr>
+<tr>
+ <td>enterCharacter</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[5]/VTextField[0]</td>
+ <td>64,2</td>
+</tr>
+<!--commit with 2 fails-->
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[8]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>closeNotification</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::Root/VNotification[0]</td>
+ <td>0,0</td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
+ <td>3. Commit failed: Commit failed</td>
+</tr>
+<tr>
+ <td>enterCharacter</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTextArea[0]</td>
+ <td>Doever</td>
+</tr>
+<!--1 error fixed, still 1 conversion error-->
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[8]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>closeNotification</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::Root/VNotification[0]</td>
+ <td>0,0</td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
+ <td>4. Commit failed: Commit failed</td>
+</tr>
+<tr>
+ <td>enterCharacter</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[5]/VTextField[0]</td>
+ <td>123</td>
+</tr>
+<!--all fields ok, commit should be ok-->
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[8]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>closeNotification</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::Root/VNotification[0]</td>
+ <td>0,0</td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
+ <td>5. Commit succesful</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[10]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
+ <td>6. Person [firstName=John, lastName=Doever, email=john@doe.com, age=123, sex=Male, address=Address [streetAddress=John street, postalCode=11223, city=John's town, country=USA], deceased=false, salary=null, salaryDouble=null, rent=null]</td>
+</tr>
+<!--discard should now have no effect-->
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[9]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
+ <td>7. Discarded changes</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[10]/VButton[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::PID_SLog_row_0</td>
+ <td>8. Person [firstName=John, lastName=Doever, email=john@doe.com, age=123, sex=Male, address=Address [streetAddress=John street, postalCode=11223, city=John's town, country=USA], deceased=false, salary=null, salaryDouble=null, rent=null]</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/uitest/src/com/vaadin/tests/fieldgroup/IntegerRangeValidator.html b/uitest/src/com/vaadin/tests/fieldgroup/IntegerRangeValidator.html
index 7c6f9ceb39..48d48ede80 100644
--- a/uitest/src/com/vaadin/tests/fieldgroup/IntegerRangeValidator.html
+++ b/uitest/src/com/vaadin/tests/fieldgroup/IntegerRangeValidator.html
@@ -3,7 +3,7 @@
<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:88888/" />
+<link rel="selenium.base" href="" />
<title>IntegerRangeValidator</title>
</head>
<body>
@@ -90,7 +90,6 @@
<td>vaadin=runcomvaadintestsfieldgroupBasicPersonForm::Root/VTooltip[0]/FlowPanel[0]/VErrorMessage[0]/HTML[0]</td>
<td>Must be between 0 and 150, -1 is not</td>
</tr>
-
</tbody></table>
</body>
</html>
diff --git a/uitest/src/com/vaadin/tests/fonticon/FontIcons.java b/uitest/src/com/vaadin/tests/fonticon/FontIcons.java
new file mode 100644
index 0000000000..5511acf3bf
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/fonticon/FontIcons.java
@@ -0,0 +1,226 @@
+/*
+ * 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.fonticon;
+
+import com.vaadin.event.Action;
+import com.vaadin.event.Action.Handler;
+import com.vaadin.server.FontAwesome;
+import com.vaadin.server.FontIcon;
+import com.vaadin.server.Page;
+import com.vaadin.server.Resource;
+import com.vaadin.server.ThemeResource;
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.shared.Position;
+import com.vaadin.shared.ui.label.ContentMode;
+import com.vaadin.tests.components.AbstractTestUI;
+import com.vaadin.ui.AbstractSelect;
+import com.vaadin.ui.Accordion;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.CheckBox;
+import com.vaadin.ui.ComboBox;
+import com.vaadin.ui.Component;
+import com.vaadin.ui.DateField;
+import com.vaadin.ui.GridLayout;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.Link;
+import com.vaadin.ui.ListSelect;
+import com.vaadin.ui.MenuBar;
+import com.vaadin.ui.MenuBar.MenuItem;
+import com.vaadin.ui.NativeButton;
+import com.vaadin.ui.NativeSelect;
+import com.vaadin.ui.Notification;
+import com.vaadin.ui.OptionGroup;
+import com.vaadin.ui.Panel;
+import com.vaadin.ui.Slider;
+import com.vaadin.ui.TabSheet;
+import com.vaadin.ui.Table;
+import com.vaadin.ui.Table.Align;
+import com.vaadin.ui.Table.RowHeaderMode;
+import com.vaadin.ui.TextArea;
+import com.vaadin.ui.TextField;
+import com.vaadin.ui.Tree;
+import com.vaadin.ui.TwinColSelect;
+import com.vaadin.ui.Upload;
+import com.vaadin.ui.VerticalLayout;
+
+/**
+ *
+ * @since
+ * @author Vaadin Ltd
+ */
+public class FontIcons extends AbstractTestUI {
+
+ @Override
+ protected void setup(VaadinRequest request) {
+ buildUI(FontAwesome.ANDROID);
+ }
+
+ private void buildUI(final Resource icon) {
+ VerticalLayout layout = new VerticalLayout();
+ setContent(layout);
+ layout.setMargin(true);
+
+ layout.setIcon(icon);
+
+ layout.addComponent(new Button("Switch icon type",
+ new Button.ClickListener() {
+
+ @Override
+ public void buttonClick(ClickEvent event) {
+ buildUI(icon instanceof FontIcon ? new ThemeResource(
+ "../runo/icons/16/user.png")
+ : FontAwesome.ANDROID);
+ }
+ }));
+
+ Handler actionHandler = new Handler() {
+ Action[] actions = { new Action("Do it!", icon) };
+
+ @Override
+ public void handleAction(Action action, Object sender, Object target) {
+
+ }
+
+ @Override
+ public Action[] getActions(Object target, Object sender) {
+ return actions;
+ }
+ };
+
+ // Notification
+ Notification n = new Notification("Hey there!");
+ n.setIcon(icon);
+ n.setPosition(Position.BOTTOM_CENTER);
+ n.setDelayMsec(-1);
+ n.show(Page.getCurrent());
+
+ // grid of compoents
+ GridLayout gl = new GridLayout(4, 5);
+ gl.setSpacing(true);
+ layout.addComponent(gl);
+
+ // Basic components, caption icon only
+ Class<?>[] components = { Button.class, CheckBox.class,
+ DateField.class, NativeButton.class, Link.class, Label.class,
+ Panel.class, Slider.class, TextArea.class, TextField.class,
+ Upload.class };
+ for (Class<?> clazz : components) {
+ Component c;
+ try {
+ c = (Component) clazz.newInstance();
+ } catch (Exception e) {
+ e.printStackTrace();
+ continue;
+ }
+ c.setCaption(clazz.getSimpleName());
+ c.setIcon(icon);
+ gl.addComponent(c);
+ }
+
+ // TabSheet, caption + tab icons
+ TabSheet tabs = new TabSheet();
+ tabs.setCaption("TabSheet");
+ tabs.setIcon(icon);
+ tabs.addStyleName("myTabs");
+ tabs.addTab(new Label("Content 1"), "Tab 1", icon);
+ tabs.addTab(new Label("Content 2"), "Tab 2", icon);
+ tabs.setWidth("150px");
+ gl.addComponent(tabs);
+
+ // Accordion, caption + tab icons
+ Accordion acc = new Accordion();
+ acc.setCaption("Accordion");
+ acc.setIcon(icon);
+ acc.addTab(new Label(), "Section 1", icon);
+ acc.addTab(new Label(), "Section 2", icon);
+ gl.addComponent(acc);
+
+ // Table, caption + column + row + action icons
+ Table tbl = new Table("Table");
+ tbl.setRowHeaderMode(RowHeaderMode.ICON_ONLY);
+ tbl.setIcon(icon);
+ tbl.addContainerProperty("Column 1", String.class, "Row", "Column 1",
+ icon, Align.LEFT);
+ tbl.addContainerProperty("Column 2", String.class, "Row", "Column 2",
+ icon, Align.LEFT);
+ tbl.setItemIcon(tbl.addItem(), icon);
+ tbl.setItemIcon(tbl.addItem(), icon);
+ tbl.setItemIcon(tbl.addItem(), icon);
+ tbl.setPageLength(3);
+ gl.addComponent(tbl);
+ tbl.addActionHandler(actionHandler);
+
+ // Selects, caption + item icons
+ Class<?>[] selects = { ComboBox.class, NativeSelect.class,
+ ListSelect.class, TwinColSelect.class, OptionGroup.class };
+ for (Class<?> clazz : selects) {
+ AbstractSelect sel;
+ try {
+ sel = (AbstractSelect) clazz.newInstance();
+ } catch (Exception e) {
+ e.printStackTrace();
+ continue;
+ }
+ sel.setCaption(clazz.getSimpleName());
+ sel.setIcon(icon);
+ sel.addItem("One");
+ sel.setItemIcon("One", icon);
+ sel.addItem("Two");
+ sel.setItemIcon("Two", icon);
+ gl.addComponent(sel);
+ }
+
+ // MenuBar, caption + item + sub-item icons
+ MenuBar menu = new MenuBar();
+ menu.setIcon(icon);
+ menu.setCaption("MenuBar");
+ MenuItem mi = menu.addItem("File", icon, null);
+ MenuItem smi = mi.addItem("Item", icon, null);
+ smi = mi.addItem("Item", icon, null);
+ smi = smi.addItem("Item", icon, null);
+ gl.addComponent(menu);
+
+ // Tree, caption + item + subitem + action icons
+ Tree tree = new Tree("Tree");
+ tree.addItem("Root");
+ tree.setItemIcon("Root", icon);
+ tree.addItem("Leaf");
+ tree.setItemIcon("Leaf", icon);
+ tree.setParent("Leaf", "Root");
+ tree.expandItemsRecursively("Root");
+ tree.addActionHandler(actionHandler);
+ gl.addComponent(tree);
+
+ // All of FontAwesome
+ String allIcons = "";
+ for (FontIcon ic : FontAwesome.values()) {
+ allIcons += ic.getHtml() + " ";
+ }
+ layout.addComponent(new Label(allIcons, ContentMode.HTML));
+ }
+
+ @Override
+ protected String getTestDescription() {
+ return "Font icons should show up in all the right places";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 13152;
+ }
+
+}
diff --git a/uitest/src/com/vaadin/tests/fonticon/FontIconsTest.java b/uitest/src/com/vaadin/tests/fonticon/FontIconsTest.java
new file mode 100644
index 0000000000..af54b73ae3
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/fonticon/FontIconsTest.java
@@ -0,0 +1,36 @@
+/*
+ * 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.fonticon;
+
+import java.io.IOException;
+
+import org.junit.Test;
+
+import com.vaadin.tests.tb3.MultiBrowserTest;
+
+/**
+ *
+ * @since
+ * @author Vaadin Ltd
+ */
+public class FontIconsTest extends MultiBrowserTest {
+
+ @Test
+ public void checkScreenshot() throws IOException {
+ openTestURL();
+ compareScreen("all");
+ }
+}
diff --git a/uitest/src/com/vaadin/tests/integration/ServletIntegrationDefaultPushUI.java b/uitest/src/com/vaadin/tests/integration/ServletIntegrationDefaultPushUI.java
new file mode 100644
index 0000000000..d6def8d69c
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/integration/ServletIntegrationDefaultPushUI.java
@@ -0,0 +1,29 @@
+/*
+ * 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.integration;
+
+import com.vaadin.annotations.Push;
+
+/**
+ * Server test which uses the default push mechanisms
+ *
+ * @since 7.1.12
+ * @author Vaadin Ltd
+ */
+@Push
+public class ServletIntegrationDefaultPushUI extends ServletIntegrationUI {
+
+}
diff --git a/uitest/src/com/vaadin/tests/integration/ServletIntegrationDefaultPushUITest.java b/uitest/src/com/vaadin/tests/integration/ServletIntegrationDefaultPushUITest.java
new file mode 100644
index 0000000000..5f50cdb95d
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/integration/ServletIntegrationDefaultPushUITest.java
@@ -0,0 +1,21 @@
+/*
+ * 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.integration;
+
+public class ServletIntegrationDefaultPushUITest extends
+ AbstractServletIntegrationTest {
+ // Uses the test method declared in the super class
+} \ No newline at end of file
diff --git a/uitest/src/com/vaadin/tests/push/ExtremelyLongPushTimeLongPolling.java b/uitest/src/com/vaadin/tests/push/ExtremelyLongPushTimeLongPolling.java
new file mode 100644
index 0000000000..7c0899c481
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/push/ExtremelyLongPushTimeLongPolling.java
@@ -0,0 +1,33 @@
+/*
+ * 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.push;
+
+import com.vaadin.annotations.Push;
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.shared.ui.ui.Transport;
+import com.vaadin.shared.ui.ui.UIState.PushConfigurationState;
+
+@Push(transport = Transport.LONG_POLLING)
+public class ExtremelyLongPushTimeLongPolling extends ExtremelyLongPushTime {
+
+ @Override
+ public void init(VaadinRequest request) {
+ super.init(request);
+ // Don't use fallback so we can easier detect failures
+ getPushConfiguration().setParameter(
+ PushConfigurationState.FALLBACK_TRANSPORT_PARAM, "none");
+ }
+}
diff --git a/uitest/src/com/vaadin/tests/push/ExtremelyLongPushTimeLongPollingTest.java b/uitest/src/com/vaadin/tests/push/ExtremelyLongPushTimeLongPollingTest.java
new file mode 100644
index 0000000000..eb28634dfa
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/push/ExtremelyLongPushTimeLongPollingTest.java
@@ -0,0 +1,21 @@
+/*
+ * 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.push;
+
+public class ExtremelyLongPushTimeLongPollingTest extends
+ ExtremelyLongPushTimeTest {
+
+}
diff --git a/uitest/src/com/vaadin/tests/push/IdlePushChannelLongPollingTest.java b/uitest/src/com/vaadin/tests/push/IdlePushChannelLongPollingTest.java
new file mode 100644
index 0000000000..5a90c4333d
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/push/IdlePushChannelLongPollingTest.java
@@ -0,0 +1,23 @@
+/*
+ * 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.push;
+
+public class IdlePushChannelLongPollingTest extends IdlePushChannelTest {
+ @Override
+ protected Class<?> getUIClass() {
+ return BasicPushLongPolling.class;
+ }
+}
diff --git a/uitest/src/com/vaadin/tests/push/PushConfigurationTest.java b/uitest/src/com/vaadin/tests/push/PushConfigurationTest.java
index 1f8c4c0e38..1c33293d55 100644
--- a/uitest/src/com/vaadin/tests/push/PushConfigurationTest.java
+++ b/uitest/src/com/vaadin/tests/push/PushConfigurationTest.java
@@ -93,6 +93,40 @@ public class PushConfigurationTest extends WebsocketTest {
}
+ @Test
+ public void testLongPolling() {
+ setDebug(true);
+ openTestURL();
+ int counter = getServerCounter();
+ assertGreaterOrEqual("Counter should be >= 1. Was: " + counter,
+ counter, 1);
+ new Select(getTransportSelect()).selectByVisibleText("LONG_POLLING");
+ new Select(getPushModeSelect()).selectByVisibleText("AUTOMATIC");
+ Assert.assertTrue(vaadinElement(
+ "/VVerticalLayout[0]/Slot[1]/VVerticalLayout[0]/Slot[0]/VVerticalLayout[0]/Slot[0]/VVerticalLayout[0]/Slot[5]/VLabel[0]/domChild[0]")
+ .getText()
+ .matches(
+ "^[\\s\\S]*fallbackTransport: streaming[\\s\\S]*transport: long-polling[\\s\\S]*$"));
+ counter = getServerCounter();
+ final int waitCounter = counter + 2;
+ waitUntil(new ExpectedCondition<Boolean>() {
+
+ @Override
+ public Boolean apply(WebDriver input) {
+ return (getServerCounter() >= waitCounter);
+ }
+ });
+
+ // Use debug console to verify we used the correct transport type
+ Assert.assertTrue(driver.getPageSource().contains(
+ "Push connection established using longpolling"));
+ Assert.assertFalse(driver.getPageSource().contains(
+ "Push connection established using streaming"));
+
+ new Select(getPushModeSelect()).selectByVisibleText("DISABLED");
+
+ }
+
private WebElement getPushModeSelect() {
return vaadinElement("/VVerticalLayout[0]/Slot[1]/VVerticalLayout[0]/Slot[0]/VVerticalLayout[0]/Slot[0]/VVerticalLayout[0]/Slot[0]/VNativeSelect[0]/domChild[0]");
}
diff --git a/uitest/src/com/vaadin/tests/push/PushLargeData.java b/uitest/src/com/vaadin/tests/push/PushLargeData.java
index 83f573ed2c..93925ffb9f 100644
--- a/uitest/src/com/vaadin/tests/push/PushLargeData.java
+++ b/uitest/src/com/vaadin/tests/push/PushLargeData.java
@@ -34,8 +34,8 @@ import com.vaadin.ui.UI;
public abstract class PushLargeData extends AbstractTestUIWithLog {
- // 1MB
- static final int DEFAULT_SIZE_BYTES = 1000 * 1000;
+ // 250KB
+ static final int DEFAULT_SIZE_BYTES = 250 * 1000;
// Every other second
static final int DEFAULT_DELAY_MS = 2000;
diff --git a/uitest/src/com/vaadin/tests/push/LongPollingReconnectTest.java b/uitest/src/com/vaadin/tests/push/ReconnectLongPollingTest.java
index 81c974e1e5..6d0c0c53b0 100644
--- a/uitest/src/com/vaadin/tests/push/LongPollingReconnectTest.java
+++ b/uitest/src/com/vaadin/tests/push/ReconnectLongPollingTest.java
@@ -15,7 +15,7 @@
*/
package com.vaadin.tests.push;
-public class LongPollingReconnectTest extends PushReconnectTest {
+public class ReconnectLongPollingTest extends ReconnectTest {
@Override
protected Class<?> getUIClass() {
diff --git a/uitest/src/com/vaadin/tests/push/StreamingReconnectTest.java b/uitest/src/com/vaadin/tests/push/ReconnectStreamingTest.java
index 24dfdd8ba1..ebacf5be37 100755
--- a/uitest/src/com/vaadin/tests/push/StreamingReconnectTest.java
+++ b/uitest/src/com/vaadin/tests/push/ReconnectStreamingTest.java
@@ -15,7 +15,7 @@
*/
package com.vaadin.tests.push;
-public class StreamingReconnectTest extends PushReconnectTest {
+public class ReconnectStreamingTest extends ReconnectTest {
@Override
protected Class<?> getUIClass() {
diff --git a/uitest/src/com/vaadin/tests/push/PushReconnectTest.java b/uitest/src/com/vaadin/tests/push/ReconnectTest.java
index 76a0b547da..69b2ccf22b 100644
--- a/uitest/src/com/vaadin/tests/push/PushReconnectTest.java
+++ b/uitest/src/com/vaadin/tests/push/ReconnectTest.java
@@ -23,7 +23,7 @@ import org.openqa.selenium.support.ui.ExpectedCondition;
import com.vaadin.tests.tb3.MultiBrowserTestWithProxy;
-public abstract class PushReconnectTest extends MultiBrowserTestWithProxy {
+public abstract class ReconnectTest extends MultiBrowserTestWithProxy {
@Test
public void testShortDisconnect() throws Exception {
@@ -152,7 +152,7 @@ public abstract class PushReconnectTest extends MultiBrowserTestWithProxy {
@Override
public Boolean apply(WebDriver input) {
- return BasicPushTest.getServerCounter(PushReconnectTest.this) > counter;
+ return BasicPushTest.getServerCounter(ReconnectTest.this) > counter;
}
}, 30);
}
diff --git a/uitest/src/com/vaadin/tests/push/WebsocketReconnectTest.java b/uitest/src/com/vaadin/tests/push/ReconnectWebsocketTest.java
index 075a18c0e7..57fe0a040d 100644
--- a/uitest/src/com/vaadin/tests/push/WebsocketReconnectTest.java
+++ b/uitest/src/com/vaadin/tests/push/ReconnectWebsocketTest.java
@@ -21,7 +21,7 @@ import org.openqa.selenium.remote.DesiredCapabilities;
import com.vaadin.tests.tb3.WebsocketTest;
-public class WebsocketReconnectTest extends PushReconnectTest {
+public class ReconnectWebsocketTest extends ReconnectTest {
@Override
public List<DesiredCapabilities> getBrowsersToTest() {
diff --git a/uitest/src/com/vaadin/tests/tb3/MultiBrowserTest.java b/uitest/src/com/vaadin/tests/tb3/MultiBrowserTest.java
index e166e421ef..fa55b82390 100644
--- a/uitest/src/com/vaadin/tests/tb3/MultiBrowserTest.java
+++ b/uitest/src/com/vaadin/tests/tb3/MultiBrowserTest.java
@@ -41,7 +41,7 @@ import org.openqa.selenium.remote.DesiredCapabilities;
public abstract class MultiBrowserTest extends PrivateTB3Configuration {
public enum Browser {
- FIREFOX(BrowserUtil.firefox(24)), CHROME(BrowserUtil.chrome(29)), SAFARI(
+ FIREFOX(BrowserUtil.firefox(24)), CHROME(BrowserUtil.chrome(33)), SAFARI(
BrowserUtil.safari(7)), IE8(BrowserUtil.ie(8)), IE9(BrowserUtil
.ie(9)), IE10(BrowserUtil.ie(10)), IE11(BrowserUtil.ie(11)), OPERA(
BrowserUtil.opera(17));