aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatti Tahvonen <matti.tahvonen@itmill.com>2009-09-21 13:17:47 +0000
committerMatti Tahvonen <matti.tahvonen@itmill.com>2009-09-21 13:17:47 +0000
commit0da15b7ebb4b356e49bda9b9c0fb6faf95029fd2 (patch)
treeb8e8ed33ebe68a7795cf6c97520e4b31445758b3
parent8047da6591865600508e28ba76990b913da4fff2 (diff)
parent893b4f55d83e1c84107c17bab2c536095e49dd78 (diff)
downloadvaadin-framework-0da15b7ebb4b356e49bda9b9c0fb6faf95029fd2.tar.gz
vaadin-framework-0da15b7ebb4b356e49bda9b9c0fb6faf95029fd2.zip
merged changes from 6.0 to branch
svn changeset:8865/svn branch:2009-09-widget-packaging_3332
-rw-r--r--WebContent/VAADIN/themes/sampler/sampler/icon-empty.pngbin0 -> 140 bytes
-rw-r--r--WebContent/VAADIN/themes/sampler/sampler/select-bullet.pngbin0 -> 287 bytes
-rw-r--r--WebContent/VAADIN/themes/sampler/sampler/styles.css31
-rw-r--r--WebContent/VAADIN/themes/sampler/sampler/theme-select-bg.pngbin0 -> 320 bytes
-rw-r--r--WebContent/VAADIN/themes/sampler/sampler/theme-select-sel-bg.pngbin0 -> 199 bytes
-rw-r--r--WebContent/WEB-INF/web.xml12
-rw-r--r--build/build.xml35
-rw-r--r--build/package/WebContent/WEB-INF/web.xml26
-rw-r--r--src/com/vaadin/Application.java11
-rw-r--r--src/com/vaadin/data/util/HierarchicalContainer.java36
-rw-r--r--src/com/vaadin/data/util/IndexedContainer.java17
-rw-r--r--src/com/vaadin/demo/sampler/SamplerApplication.java55
-rw-r--r--src/com/vaadin/demo/sampler/features/notifications/NotificationCustomExample.java2
-rwxr-xr-xsrc/com/vaadin/terminal/gwt/client/ApplicationConnection.java4
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VForm.java3
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VTextField.java8
-rw-r--r--src/com/vaadin/terminal/gwt/server/AbstractApplicationServlet.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/CommunicationManager.java7
-rw-r--r--src/com/vaadin/tests/applicationservlet/NoMainWindow.java22
-rw-r--r--src/com/vaadin/tests/components/HierarchicalContainerSorting.java97
-rw-r--r--src/com/vaadin/tests/components/absolutelayout/AbsoluteLayoutClipping.html27
-rw-r--r--src/com/vaadin/tests/components/abstractfield/AbstractFieldCommitWithInvalidValues.html72
-rw-r--r--src/com/vaadin/tests/components/accordion/RemoveTabs.html122
-rw-r--r--src/com/vaadin/tests/components/beanitemcontainer/TestBeanItemContainerUsage.html37
-rw-r--r--src/com/vaadin/tests/components/button/ButtonUndefinedWidth.html82
-rw-r--r--src/com/vaadin/tests/components/button/DisabledButtons.html32
-rw-r--r--src/com/vaadin/tests/components/button/IE7ButtonWithIcon.html32
-rw-r--r--src/com/vaadin/tests/components/button/TooltipForDisabledButton.html92
-rw-r--r--src/com/vaadin/tests/components/caption/LargeCaptionIcon.html37
-rw-r--r--src/com/vaadin/tests/components/checkbox/CheckboxCaptionWrapping.html32
-rw-r--r--src/com/vaadin/tests/components/checkbox/CheckboxIcon.html62
-rw-r--r--src/com/vaadin/tests/components/checkbox/CheckboxIcon.java2
-rw-r--r--src/com/vaadin/tests/components/combobox/ComboBoxItemIcon.html57
-rw-r--r--src/com/vaadin/tests/components/combobox/ComboBoxNavigation.html82
-rw-r--r--src/com/vaadin/tests/components/datefield/DateFieldReadOnly.html77
-rw-r--r--src/com/vaadin/tests/components/datefield/DateFieldReadOnly.java6
-rw-r--r--src/com/vaadin/tests/components/datefield/TestDatefieldYear.html92
-rw-r--r--src/com/vaadin/tests/components/embedded/EmbeddedTooltip.html42
-rw-r--r--src/com/vaadin/tests/components/form/FormCommitWithInvalidValues.html112
-rw-r--r--src/com/vaadin/tests/components/form/FormNotGettingSmaller.java51
-rw-r--r--src/com/vaadin/tests/components/form/FormRenderingFlicker.html42
-rw-r--r--src/com/vaadin/tests/components/label/HundredPercentWideLabelResize.html62
-rw-r--r--src/com/vaadin/tests/components/label/LabelWrapping.html62
-rw-r--r--src/com/vaadin/tests/components/link/LinkIcon.html27
-rw-r--r--src/com/vaadin/tests/components/link/LinkIcon.java2
-rw-r--r--src/com/vaadin/tests/components/link/LinkTargetSize.html42
-rw-r--r--src/com/vaadin/tests/components/orderedlayout/ReplaceComponentNPE.html47
-rw-r--r--src/com/vaadin/tests/components/popupview/PopupViewOffScreen.html47
-rw-r--r--src/com/vaadin/tests/components/richtextarea/RichTextAreaSize.html32
-rw-r--r--src/com/vaadin/tests/components/splitpanel/SplitPanelSplitterWidth.html47
-rw-r--r--src/com/vaadin/tests/components/table/ClippedComponentsInTable.html32
-rw-r--r--src/com/vaadin/tests/components/table/ColumnCollapsingAndColumnExpansion.html57
-rw-r--r--src/com/vaadin/tests/components/table/ColumnExpandRatio.html32
-rw-r--r--src/com/vaadin/tests/components/table/ColumnExpandWithFixedColumns.html32
-rw-r--r--src/com/vaadin/tests/components/table/ContainerSizeChange.html82
-rw-r--r--src/com/vaadin/tests/components/table/LabelEmbeddedClickThroughForTable.html52
-rw-r--r--src/com/vaadin/tests/components/table/MissingScrollbar.html57
-rw-r--r--src/com/vaadin/tests/components/table/ModifyContainerProperty.java57
-rw-r--r--src/com/vaadin/tests/components/table/PropertyValueChange.html87
-rw-r--r--src/com/vaadin/tests/components/table/RowAdditionTest.html157
-rw-r--r--src/com/vaadin/tests/components/table/TableLastRowMissing.html32
-rw-r--r--src/com/vaadin/tests/components/table/TablePageLengthUpdate.html127
-rw-r--r--src/com/vaadin/tests/components/table/TableRowHeight.html32
-rw-r--r--src/com/vaadin/tests/components/table/TableRowHeight2.html57
-rw-r--r--src/com/vaadin/tests/components/table/TableRowHeight3.html27
-rw-r--r--src/com/vaadin/tests/components/table/TableVisibleColumnsUpdate.html77
-rw-r--r--src/com/vaadin/tests/components/table/TextFieldRelativeWidth.html57
-rw-r--r--src/com/vaadin/tests/components/tabsheet/AddAndRemoveTabs.html117
-rw-r--r--src/com/vaadin/tests/components/tabsheet/PreventTabChange.html77
-rw-r--r--src/com/vaadin/tests/components/tabsheet/RemoveTabsTabsheet.html112
-rw-r--r--src/com/vaadin/tests/components/tabsheet/TabSheetCaptions.html77
-rw-r--r--src/com/vaadin/tests/components/tabsheet/TabSheetCaptions.java12
-rw-r--r--src/com/vaadin/tests/components/tabsheet/TabSheetDisabling.html162
-rw-r--r--src/com/vaadin/tests/components/tabsheet/TabSheetIcons.html27
-rw-r--r--src/com/vaadin/tests/components/tabsheet/TabSheetIcons.java4
-rw-r--r--src/com/vaadin/tests/components/tabsheet/TabSheetWithoutTabCaption.html32
-rw-r--r--src/com/vaadin/tests/components/tabsheet/TabsheetTooltip.html82
-rw-r--r--src/com/vaadin/tests/components/tabsheet/VerticalScrollbarPosition.html77
-rw-r--r--src/com/vaadin/tests/components/textfield/IE6Cursor.java27
-rw-r--r--src/com/vaadin/tests/components/tree/TreeNodeCaptionWrapping.html37
-rw-r--r--src/com/vaadin/tests/components/window/CenteredWindowWithUndefinedSize.html32
-rw-r--r--src/com/vaadin/tests/components/window/EmbeddedInSubWindow.html32
-rw-r--r--src/com/vaadin/tests/components/window/SubWindowOrder.java28
-rw-r--r--src/com/vaadin/tests/components/window/SubwindowInvalidLayout.html32
-rw-r--r--src/com/vaadin/tests/components/window/TestTooSmallSubwindowSize.html32
-rw-r--r--src/com/vaadin/tests/components/window/UndefinedWidthSubWindow.html32
-rw-r--r--src/com/vaadin/tests/components/window/WindowShouldRemoveActionHandler.html107
-rw-r--r--src/com/vaadin/ui/Window.java34
-rw-r--r--tests/test.xml70
89 files changed, 4076 insertions, 146 deletions
diff --git a/WebContent/VAADIN/themes/sampler/sampler/icon-empty.png b/WebContent/VAADIN/themes/sampler/sampler/icon-empty.png
new file mode 100644
index 0000000000..05326288d9
--- /dev/null
+++ b/WebContent/VAADIN/themes/sampler/sampler/icon-empty.png
Binary files differ
diff --git a/WebContent/VAADIN/themes/sampler/sampler/select-bullet.png b/WebContent/VAADIN/themes/sampler/sampler/select-bullet.png
new file mode 100644
index 0000000000..8ef4841581
--- /dev/null
+++ b/WebContent/VAADIN/themes/sampler/sampler/select-bullet.png
Binary files differ
diff --git a/WebContent/VAADIN/themes/sampler/sampler/styles.css b/WebContent/VAADIN/themes/sampler/sampler/styles.css
index 3b18645d74..6898284749 100644
--- a/WebContent/VAADIN/themes/sampler/sampler/styles.css
+++ b/WebContent/VAADIN/themes/sampler/sampler/styles.css
@@ -163,11 +163,11 @@
.v-app-SamplerApplication .v-horizontallayout-segment .v-popupview span {
background-image: url(magnifier.png);
}
-.v-app-SamplerApplication .theme-select,
.v-app-SamplerApplication .theme-select * {
background: transparent;
}
-.v-app-SamplerApplication .theme-select .v-filterselect-input {
+.v-app-SamplerApplication .theme-select .v-filterselect-input,
+.v-app-SamplerApplication .theme-select .v-icon {
width: 0;
height: 0;
padding: 0;
@@ -180,6 +180,7 @@
padding: 0;
border: none;
background: transparent url(segment.png) no-repeat;
+ outline: none;
}
.v-app-SamplerApplication .theme-select:active {
background-position: 0 bottom;
@@ -193,6 +194,32 @@
.v-app-SamplerApplication .theme-select:active .v-filterselect-button {
background-position: right bottom;
}
+
+
+/* Theme select drop down styles */
+.v-filterselect-suggestpopup-theme-select {
+ background: #343538 url(theme-select-bg.png) repeat-x;
+ border: none;
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ line-height: normal;
+ color: #d7d8d9;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ text-shadow: #373a3c 0 1px 0;
+}
+.v-filterselect-suggestpopup-theme-select .v-filterselect-suggestmenu {
+ margin: 6px 0;
+}
+.v-filterselect-suggestpopup-theme-select .gwt-MenuItem {
+ height: 14px;
+ padding: 1px 15px 1px 4px;
+ cursor: default;
+}
+.v-filterselect-suggestpopup-theme-select .gwt-MenuItem-selected {
+ background: #3472ac url(theme-select-sel-bg.png) repeat-x;
+}
+
.v-app-SamplerApplication .v-horizontallayout-segment .v-nativebutton-previous span,
.v-app-SamplerApplication .v-horizontallayout-segment .v-nativebutton-previous.v-pressed span,
.v-app-SamplerApplication .v-horizontallayout-segment .v-nativebutton-previous.v-disabled span {
diff --git a/WebContent/VAADIN/themes/sampler/sampler/theme-select-bg.png b/WebContent/VAADIN/themes/sampler/sampler/theme-select-bg.png
new file mode 100644
index 0000000000..3f279aa321
--- /dev/null
+++ b/WebContent/VAADIN/themes/sampler/sampler/theme-select-bg.png
Binary files differ
diff --git a/WebContent/VAADIN/themes/sampler/sampler/theme-select-sel-bg.png b/WebContent/VAADIN/themes/sampler/sampler/theme-select-sel-bg.png
new file mode 100644
index 0000000000..f605d22cec
--- /dev/null
+++ b/WebContent/VAADIN/themes/sampler/sampler/theme-select-sel-bg.png
Binary files differ
diff --git a/WebContent/WEB-INF/web.xml b/WebContent/WEB-INF/web.xml
index 61ec738724..a2c51c3646 100644
--- a/WebContent/WEB-INF/web.xml
+++ b/WebContent/WEB-INF/web.xml
@@ -19,18 +19,6 @@
<param-value>false</param-value>
<description>Vaadin production mode</description>
</context-param>
- <!-- Permit use of IT Mill Testing Tools for this servlet continer -->
- <context-param>
- <param-name>testingToolsActive</param-name>
- <param-value>true</param-value>
- <description>IT Mill Testing Tools activation</description>
- </context-param>
-
- <context-param>
- <param-name>testingToolsServerUri</param-name>
- <param-value>http://192.168.1.242:8099/TestingToolsServer</param-value>
- <description>IT Mill Testing Tools URI</description>
- </context-param>
<servlet>
<servlet-name>VaadinApplicationRunner</servlet-name>
diff --git a/build/build.xml b/build/build.xml
index 6759566ae3..e69ebed14d 100644
--- a/build/build.xml
+++ b/build/build.xml
@@ -240,6 +240,8 @@
<pathelement path="lib/portlet/portal-service.jar" />
<pathelement path="lib/portlet/portlet.jar" />
<pathelement path="lib/appengine/appengine-api.jar" />
+ <pathelement path="lib/test/junit-4.5.jar" />
+ <pathelement path="lib/test/easymock-2.5/easymock-2.5.jar" />
</path>
<path id="compile.classpath.server-side">
<path refid="compile.classpath"/>
@@ -630,7 +632,7 @@
<include name="**/*.html" />
<include name="**/*.css" />
<include name="**/*.xml" />
- <exclude name="**/tests/**"/>
+ <exclude name="**/tests/**" unless="build.include.tests"/>
<exclude name="**/demo/sampler/**" if="build.sampler.disabled" />
</patternset>
</fileset>
@@ -650,7 +652,7 @@
<exclude name="**/*.html" />
<exclude name="**/*.css" />
<exclude name="**/*.xml" />
- <exclude name="**/tests/**"/>
+ <exclude name="**/tests/**" unless="build.include.tests"/>
<exclude name="**/demo/sampler/**" if="build.sampler.disabled" />
</patternset>
</fileset>
@@ -698,11 +700,13 @@
<fileset dir="WebContent">
<exclude name="**/.svn" />
<!-- TODO check what is neccessary -->
- <exclude name="VAADIN/themes/tests*" />
+ <!-- These are needed for running tests, but are copied during testing. -->
+ <exclude name="VAADIN/themes/tests*"/>
<exclude name="VAADIN/themes/tests-magi/**/*" />
<exclude name="VAADIN/themes/tests-featurebrowser/**/*" />
- <exclude name="VAADIN/themes/tests*/**/*" />
+ <exclude name="VAADIN/themes/tests*/**/*"/>
<exclude name="VAADIN/themes/sampler/**" if="build.sampler.disabled" />
+
<include name="demo/**/*" />
<include name="WEB-INF/lib/hsqldb.jar" />
<include name="VAADIN/themes/**/*" />
@@ -747,7 +751,7 @@
<src path="${result-path}/src"/>
<!-- This seems to be included by default: include name="${toolkit-package}/**"/ -->
<exclude name="${toolkit-package}/demo/sampler/**" if="build.sampler.disabled" />
- <exclude name="${toolkit-package}/tests/**"/>
+ <exclude name="${toolkit-package}/tests/**" unless="build.include.tests"/>
</javac>
</target>
@@ -985,7 +989,7 @@
<fileset dir="${result-path}/classes">
<patternset>
<exclude name="${toolkit-package}/demo/**" />
- <exclude name="${toolkit-package}/tests/**" />
+ <exclude name="${toolkit-package}/tests/**"/>
<exclude name="${toolkit-package}/launcher/**" />
</patternset>
</fileset>
@@ -997,7 +1001,7 @@
<fileset dir="${result-path}/src">
<patternset>
<exclude name="${toolkit-package}/demo/**" />
- <exclude name="${toolkit-package}/tests/**" />
+ <exclude name="${toolkit-package}/tests/**"/>
<exclude name="${toolkit-package}/launcher/**" />
</patternset>
</fileset>
@@ -1130,7 +1134,7 @@
<target name="gwt-symlink">
<!-- Optional property. -->
- <property name="gwt.link.target" value="../../gwt-1.5"/>
+ <property name="gwt.link.target" value="../../gwt-1.7"/>
<!-- Remove the old link, as the link target may have changed. -->
<exec executable="rm" dir="build" searchpath="true" failonerror="false">
@@ -1230,22 +1234,29 @@
<fail unless="package-platform" message="The 'package-platform' property must be defined."/>
<fail unless="version" message="The 'version' property must be defined."/>
+ <echo>Version: ${version}</echo>
+
<!-- Parameters for the test.xml script. -->
- <fail unless="com.vaadin.testingtools.tester.host" message="The 'com.vaadin.testingtools.tester.host' property must be defined."/>
- <fail unless="com.vaadin.testingtools.deployment.url" message="The 'com.vaadin.testingtools.deployment.url' property must be defined."/>
+ <fail unless="com.vaadin.testbench.tester.host" message="The 'com.vaadin.testbench.tester.host' property must be defined."/>
+ <fail unless="com.vaadin.testbench.deployment.url" message="The 'com.vaadin.testbench.deployment.url' property must be defined."/>
<property name="package.platform.name" value="${product-file}-${package-platform}-${version}"/>
<!-- Only Linux tests allowed. TODO: Generalize this. -->
<property name="package.linux.filename" value="${result-path}/${package.platform.name}.tar.gz"/>
+ <property name="package.linux.dir" value="${result-path}/${package.platform.name}.tar.gz"/>
<!-- Run the separate test script. -->
<ant antfile="tests/test.xml" target="test-package" inheritall="false" inheritrefs="true">
+ <!-- This is provided so that the test script can copy the -->
+ <!-- "tests" classes after unpacking the package. -->
+ <property name="output-dir" value="${output-dir}"/>
+
<property name="package.filename" value="${package.linux.filename}"/>
<property name="testing.testarea" value="/tmp/testarea"/>
<property name="package.name" value="${package.platform.name}"/>
- <property name="com.vaadin.testingtools.tester.host" value="${com.vaadin.testingtools.tester.host}"/>
- <property name="com.vaadin.testingtools.deployment.url" value="${com.vaadin.testingtools.deployment.url}"/>
+ <property name="com.vaadin.testbench.tester.host" value="${com.vaadin.testbench.tester.host}"/>
+ <property name="com.vaadin.testbench.deployment.url" value="${com.vaadin.testbench.deployment.url}"/>
</ant>
</target>
diff --git a/build/package/WebContent/WEB-INF/web.xml b/build/package/WebContent/WEB-INF/web.xml
index 4b7937b302..f80129b810 100644
--- a/build/package/WebContent/WEB-INF/web.xml
+++ b/build/package/WebContent/WEB-INF/web.xml
@@ -20,26 +20,6 @@
</context-param>
<!--
- Permit use of IT Mill Testing Tools for this servlet continer. Do not
- use this in production environment.
- -->
- <context-param>
- <param-name>testingToolsActive</param-name>
- <param-value>true</param-value>
- <description>IT Mill Testing Tools activation</description>
- </context-param>
-
- <!--
- Specify the IT Mill Testing Tools server URI. Do not use this in
- production environment.
- -->
- <context-param>
- <param-name>testingToolsServerUri</param-name>
- <param-value>http://192.168.1.242:8099/TestingToolsServer</param-value>
- <description>IT Mill Testing Tools URI</description>
- </context-param>
-
- <!--
Enable possibility to run any Java class as application from this
servlet. For example, if this servlet is mapped to /run, your foo.App
class can be run in /run/foo.App/. Do not deploy this servlet in
@@ -47,11 +27,7 @@
-->
<servlet>
<servlet-name>VaadinApplicationRunner</servlet-name>
- <servlet-class>com.vaadin.terminal.gwt.server.ApplicationServlet</servlet-class>
- <init-param>
- <param-name>applicationRunner</param-name>
- <param-value>true</param-value>
- </init-param>
+ <servlet-class>com.vaadin.terminal.gwt.server.ApplicationRunnerServlet</servlet-class>
</servlet>
<!-- Feature Browser demo application -->
diff --git a/src/com/vaadin/Application.java b/src/com/vaadin/Application.java
index c87f50c2e7..ca86467e04 100644
--- a/src/com/vaadin/Application.java
+++ b/src/com/vaadin/Application.java
@@ -1328,10 +1328,13 @@ public abstract class Application implements URIHandler,
* Contains the system messages used to notify the user about various
* critical situations that can occur.
* <p>
- * Customize by overriding the static Application.getSystemMessages() and
- * returning CustomizedSystemMessages. Note that getSystemMessages() is
- * static - changing the system messages will by default change the message
- * for all users of the application.
+ * Vaadin gets the SystemMessages from your application by calling a static
+ * getSystemMessages() method. By default the
+ * Application.getSystemMessages() is used. Your can customize this by
+ * defining the a static MyApplication.getSystemMessages() and returning
+ * CustomizedSystemMessages. Note that getSystemMessages() is static -
+ * changing the system messages will by default change the message for all
+ * users of the application.
* </p>
* <p>
* The default behavior is to show a notification, and restart the
diff --git a/src/com/vaadin/data/util/HierarchicalContainer.java b/src/com/vaadin/data/util/HierarchicalContainer.java
index 9ef4cdeb60..a6af0427ad 100644
--- a/src/com/vaadin/data/util/HierarchicalContainer.java
+++ b/src/com/vaadin/data/util/HierarchicalContainer.java
@@ -6,8 +6,8 @@ package com.vaadin.data.util;
import java.util.Collection;
import java.util.Collections;
+import java.util.HashMap;
import java.util.HashSet;
-import java.util.Hashtable;
import java.util.LinkedList;
import com.vaadin.data.Container;
@@ -29,22 +29,22 @@ public class HierarchicalContainer extends IndexedContainer implements
/**
* Set of IDs of those contained Items that can't have children.
*/
- private final HashSet noChildrenAllowed = new HashSet();
+ private final HashSet<Object> noChildrenAllowed = new HashSet<Object>();
/**
* Mapping from Item ID to parent Item.
*/
- private final Hashtable parent = new Hashtable();
+ private final HashMap<Object, Object> parent = new HashMap<Object, Object>();
/**
* Mapping from Item ID to a list of child IDs.
*/
- private final Hashtable children = new Hashtable();
+ private final HashMap<Object, LinkedList<Object>> children = new HashMap<Object, LinkedList<Object>>();
/**
* List that contains all root elements of the container.
*/
- private final LinkedList roots = new LinkedList();
+ private final LinkedList<Object> roots = new LinkedList<Object>();
/*
* Can the specified Item have any children? Don't add a JavaDoc comment
@@ -60,7 +60,7 @@ public class HierarchicalContainer extends IndexedContainer implements
* interface.
*/
public Collection getChildren(Object itemId) {
- final Collection c = (Collection) children.get(itemId);
+ final Collection c = children.get(itemId);
if (c == null) {
return null;
}
@@ -176,7 +176,7 @@ public class HierarchicalContainer extends IndexedContainer implements
if (newParentId == null) {
// Removes from old parents children list
- final LinkedList l = (LinkedList) children.get(itemId);
+ final LinkedList l = children.get(itemId);
if (l != null) {
l.remove(itemId);
if (l.isEmpty()) {
@@ -210,7 +210,7 @@ public class HierarchicalContainer extends IndexedContainer implements
// Updates parent
parent.put(itemId, newParentId);
- LinkedList pcl = (LinkedList) children.get(newParentId);
+ LinkedList pcl = children.get(newParentId);
if (pcl == null) {
pcl = new LinkedList();
children.put(newParentId, pcl);
@@ -221,7 +221,7 @@ public class HierarchicalContainer extends IndexedContainer implements
if (oldParentId == null) {
roots.remove(itemId);
} else {
- final LinkedList l = (LinkedList) children.get(oldParentId);
+ final LinkedList l = children.get(oldParentId);
if (l != null) {
l.remove(itemId);
if (l.isEmpty()) {
@@ -251,8 +251,7 @@ public class HierarchicalContainer extends IndexedContainer implements
/*
* (non-Javadoc)
*
- * @see
- * com.vaadin.data.util.IndexedContainer#addItem(java.lang.Object)
+ * @see com.vaadin.data.util.IndexedContainer#addItem(java.lang.Object)
*/
@Override
public Item addItem(Object itemId) {
@@ -284,9 +283,7 @@ public class HierarchicalContainer extends IndexedContainer implements
/*
* (non-Javadoc)
*
- * @see
- * com.vaadin.data.util.IndexedContainer#removeItem(java.lang.Object
- * )
+ * @see com.vaadin.data.util.IndexedContainer#removeItem(java.lang.Object )
*/
@Override
public boolean removeItem(Object itemId) {
@@ -299,7 +296,7 @@ public class HierarchicalContainer extends IndexedContainer implements
children.remove(itemId);
final Object p = parent.get(itemId);
if (p != null) {
- final LinkedList c = (LinkedList) children.get(p);
+ final LinkedList c = children.get(p);
if (c != null) {
c.remove(itemId);
}
@@ -311,4 +308,13 @@ public class HierarchicalContainer extends IndexedContainer implements
return success;
}
+ @Override
+ void doSort() {
+ super.doSort();
+ Collections.sort(roots, this);
+ for (LinkedList<Object> childList : children.values()) {
+ Collections.sort(childList, this);
+ }
+ }
+
}
diff --git a/src/com/vaadin/data/util/IndexedContainer.java b/src/com/vaadin/data/util/IndexedContainer.java
index 5e52c729ee..b7c6463988 100644
--- a/src/com/vaadin/data/util/IndexedContainer.java
+++ b/src/com/vaadin/data/util/IndexedContainer.java
@@ -49,7 +49,7 @@ import com.vaadin.data.Property;
@SuppressWarnings("serial")
public class IndexedContainer implements Container.Indexed,
Container.ItemSetChangeNotifier, Container.PropertySetChangeNotifier,
- Property.ValueChangeNotifier, Container.Sortable, Comparator,
+ Property.ValueChangeNotifier, Container.Sortable, Comparator<Object>,
Cloneable, Container.Filterable {
/* Internal structure */
@@ -57,7 +57,7 @@ public class IndexedContainer implements Container.Indexed,
/**
* Linked list of ordered Item IDs.
*/
- private ArrayList itemIds = new ArrayList();
+ private ArrayList<Object> itemIds = new ArrayList<Object>();
/** List of item ids that passes the filtering */
private LinkedHashSet filteredItemIds = null;
@@ -1399,8 +1399,8 @@ public class IndexedContainer implements Container.Indexed,
sortDirection[i] = (orders.get(i)).booleanValue();
}
- // Sort
- Collections.sort(itemIds, this);
+ doSort();
+
if (filteredItemIds != null) {
updateContainerFiltering();
} else {
@@ -1413,6 +1413,15 @@ public class IndexedContainer implements Container.Indexed,
}
+ /**
+ * Perform the sorting of the container. Called when everything needed for
+ * the compare function has been set up.
+ *
+ */
+ void doSort() {
+ Collections.sort(itemIds, this);
+ }
+
/*
* (non-Javadoc)
*
diff --git a/src/com/vaadin/demo/sampler/SamplerApplication.java b/src/com/vaadin/demo/sampler/SamplerApplication.java
index d3a85287fc..91ae0b4c84 100644
--- a/src/com/vaadin/demo/sampler/SamplerApplication.java
+++ b/src/com/vaadin/demo/sampler/SamplerApplication.java
@@ -56,11 +56,12 @@ public class SamplerApplication extends Application {
private static final String[] THEMES = { "reindeer", "runo" };
private static final String SAMPLER_THEME_NAME = "sampler";
- private static String currentTheme = SAMPLER_THEME_NAME + "-" + THEMES[0];
-
// used when trying to guess theme location
private static String APP_URL = null;
+ private String currentApplicationTheme = SAMPLER_THEME_NAME + "-"
+ + THEMES[0];
+
@Override
public void init() {
setMainWindow(new SamplerWindow());
@@ -147,17 +148,24 @@ public class SamplerApplication extends Application {
*
*/
class SamplerWindow extends Window {
+
+ private final ThemeResource EMPTY_THEME_ICON = new ThemeResource(
+ "../sampler/sampler/icon-empty.png");
+
+ private final ThemeResource SELECTED_THEME_ICON = new ThemeResource(
+ "../sampler/sampler/select-bullet.png");
+
private FeatureList currentList = new FeatureGrid();
- private FeatureView featureView = new FeatureView();
- private ObjectProperty currentFeature = new ObjectProperty(null,
+ private final FeatureView featureView = new FeatureView();
+ private final ObjectProperty currentFeature = new ObjectProperty(null,
Feature.class);
- private ModeSwitch mode;
+ private final ModeSwitch mode;
- private SplitPanel mainSplit;
- private Tree navigationTree;
+ private final SplitPanel mainSplit;
+ private final Tree navigationTree;
// itmill: UA-658457-6
- private GoogleAnalytics webAnalytics = new GoogleAnalytics(
+ private final GoogleAnalytics webAnalytics = new GoogleAnalytics(
"UA-658457-6", "none");
// "backbutton"
UriFragmentUtility uriFragmentUtility = new UriFragmentUtility();
@@ -185,7 +193,7 @@ public class SamplerApplication extends Application {
setSizeFull();
mainExpand.setSizeFull();
setCaption("Vaadin Sampler");
- setTheme(currentTheme);
+ setTheme(currentApplicationTheme);
// topbar (navigation)
HorizontalLayout nav = new HorizontalLayout();
@@ -376,19 +384,32 @@ public class SamplerApplication extends Application {
theme.setImmediate(true);
theme.setNullSelectionAllowed(false);
for (String themeName : THEMES) {
- theme.addItem(SAMPLER_THEME_NAME + "-" + themeName);
- theme.setItemCaption(SAMPLER_THEME_NAME + "-" + themeName,
- themeName.substring(0, 1).toUpperCase()
- + themeName.substring(1) + " theme");
+ String id = SAMPLER_THEME_NAME + "-" + themeName;
+ theme.addItem(id);
+ theme.setItemCaption(id, themeName.substring(0, 1)
+ .toUpperCase()
+ + themeName.substring(1) + " theme");
+ theme.setItemIcon(id, EMPTY_THEME_ICON);
}
- theme.setValue(currentTheme);
+
+ final String currentWindowTheme = getTheme();
+ theme.setValue(currentWindowTheme);
+ theme.setItemIcon(currentWindowTheme, SELECTED_THEME_ICON);
theme.addListener(new ComboBox.ValueChangeListener() {
public void valueChange(ValueChangeEvent event) {
+
final String newTheme = event.getProperty().getValue()
.toString();
setTheme(newTheme);
- currentTheme = newTheme;
+
+ for (String themeName : THEMES) {
+ String id = SAMPLER_THEME_NAME + "-" + themeName;
+ theme.setItemIcon(id, EMPTY_THEME_ICON);
+ }
+
+ theme.setItemIcon(newTheme, SELECTED_THEME_ICON);
+ currentApplicationTheme = newTheme;
}
});
@@ -617,7 +638,7 @@ public class SamplerApplication extends Application {
* Table -mode FeatureList. Displays the features in a Table.
*/
private class FeatureTable extends Table implements FeatureList {
- private HashMap<Object, Resource> iconCache = new HashMap<Object, Resource>();
+ private final HashMap<Object, Resource> iconCache = new HashMap<Object, Resource>();
FeatureTable() {
setStyleName("featuretable");
@@ -717,7 +738,7 @@ public class SamplerApplication extends Application {
private class FeatureGrid extends Panel implements FeatureList {
GridLayout grid = new GridLayout(11, 1);
- private HashMap<Object, Resource> iconCache = new HashMap<Object, Resource>();
+ private final HashMap<Object, Resource> iconCache = new HashMap<Object, Resource>();
FeatureGrid() {
setSizeFull();
diff --git a/src/com/vaadin/demo/sampler/features/notifications/NotificationCustomExample.java b/src/com/vaadin/demo/sampler/features/notifications/NotificationCustomExample.java
index b201ae123d..8821e8cec1 100644
--- a/src/com/vaadin/demo/sampler/features/notifications/NotificationCustomExample.java
+++ b/src/com/vaadin/demo/sampler/features/notifications/NotificationCustomExample.java
@@ -16,7 +16,7 @@ import com.vaadin.ui.Window.Notification;
@SuppressWarnings("serial")
public class NotificationCustomExample extends VerticalLayout {
- private static final Object CAPTION_PROPERTY = new Object();
+ private static final String CAPTION_PROPERTY = "CAPTION";
public NotificationCustomExample() {
setSpacing(true);
diff --git a/src/com/vaadin/terminal/gwt/client/ApplicationConnection.java b/src/com/vaadin/terminal/gwt/client/ApplicationConnection.java
index 115d8ef702..0e1270901f 100755
--- a/src/com/vaadin/terminal/gwt/client/ApplicationConnection.java
+++ b/src/com/vaadin/terminal/gwt/client/ApplicationConnection.java
@@ -132,7 +132,7 @@ public class ApplicationConnection {
// remove the end (window name) of autogenerated rootpanel id
appRootPanelName = appRootPanelName.replaceFirst("-\\d+$", "");
- initializeTestingToolsHooks(componentLocator, appRootPanelName);
+ initializeTestbenchHooks(componentLocator, appRootPanelName);
initializeClientHooks();
@@ -152,7 +152,7 @@ public class ApplicationConnection {
makeUidlRequest("", true, false, false);
}
- private native void initializeTestingToolsHooks(
+ private native void initializeTestbenchHooks(
ComponentLocator componentLocator, String TTAppId)
/*-{
var ap = this;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VForm.java b/src/com/vaadin/terminal/gwt/client/ui/VForm.java
index 290ce2f371..97fbf9b72a 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VForm.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VForm.java
@@ -205,7 +205,8 @@ public class VForm extends ComplexPanel implements Container {
return new RenderSpace(renderInformation.getContentAreaSize()
.getWidth(), hPixels);
} else if (child == footer) {
- return new RenderSpace(footerContainer.getOffsetWidth(), 0);
+ return new RenderSpace(renderInformation.getContentAreaSize()
+ .getWidth(), 0);
} else {
ApplicationConnection.getConsole().error(
"Invalid child requested RenderSpace information");
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTextField.java b/src/com/vaadin/terminal/gwt/client/ui/VTextField.java
index cd3d9f347c..4403aede35 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VTextField.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VTextField.java
@@ -23,9 +23,9 @@ import com.vaadin.terminal.gwt.client.VTooltip;
/**
* This class represents a basic text input field with one row.
- *
+ *
* @author IT Mill Ltd.
- *
+ *
*/
public class VTextField extends TextBoxBase implements Paintable, Field,
ChangeHandler, FocusHandler, BlurHandler {
@@ -167,6 +167,10 @@ public class VTextField extends TextBoxBase implements Paintable, Field,
if (prompting) {
setText("");
removeStyleDependentName(CLASSNAME_PROMPT);
+ if (BrowserInfo.get().isIE6()) {
+ // IE6 does not show the cursor when tabbing into the field
+ setCursorPos(0);
+ }
}
focusedTextField = this;
}
diff --git a/src/com/vaadin/terminal/gwt/server/AbstractApplicationServlet.java b/src/com/vaadin/terminal/gwt/server/AbstractApplicationServlet.java
index 31d5d5ac96..725b906f97 100644
--- a/src/com/vaadin/terminal/gwt/server/AbstractApplicationServlet.java
+++ b/src/com/vaadin/terminal/gwt/server/AbstractApplicationServlet.java
@@ -173,7 +173,7 @@ public abstract class AbstractApplicationServlet extends HttpServlet {
// Widget set parameter name
private static final String PARAMETER_WIDGETSET = "widgetset";
- private static final String ERROR_NO_WINDOW_FOUND = "Application did not give any window, did you remember to setMainWindow()?";
+ private static final String ERROR_NO_WINDOW_FOUND = "No window found. Did you remember to setMainWindow()?";
private static final String DEFAULT_THEME_NAME = "reindeer";
diff --git a/src/com/vaadin/terminal/gwt/server/CommunicationManager.java b/src/com/vaadin/terminal/gwt/server/CommunicationManager.java
index b3576ed327..ee5a22c3f3 100644
--- a/src/com/vaadin/terminal/gwt/server/CommunicationManager.java
+++ b/src/com/vaadin/terminal/gwt/server/CommunicationManager.java
@@ -459,8 +459,7 @@ public class CommunicationManager implements Paintable.RepaintRequestListener,
// Also check any existing subwindows
if (w.getChildWindows() != null) {
- for (Window subWindow : (Set<Window>) w
- .getChildWindows()) {
+ for (Window subWindow : w.getChildWindows()) {
invalidComponentRelativeSizes = ComponentSizeValidator
.validateComponentRelativeSizes(
subWindow.getContent(),
@@ -1087,6 +1086,10 @@ public class CommunicationManager implements Paintable.RepaintRequestListener,
// By default, use mainwindow
if (window == null) {
window = application.getMainWindow();
+ // Return null if no main window was found
+ if (window == null) {
+ return null;
+ }
}
// If the requested window is already open, resolve conflict
diff --git a/src/com/vaadin/tests/applicationservlet/NoMainWindow.java b/src/com/vaadin/tests/applicationservlet/NoMainWindow.java
new file mode 100644
index 0000000000..9097274236
--- /dev/null
+++ b/src/com/vaadin/tests/applicationservlet/NoMainWindow.java
@@ -0,0 +1,22 @@
+package com.vaadin.tests.applicationservlet;
+
+import com.vaadin.tests.components.AbstractTestCase;
+
+public class NoMainWindow extends AbstractTestCase {
+
+ @Override
+ protected String getDescription() {
+ return "This should produce an stack trace with \"No window found. Did you remember to setMainWindow()?\"";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 3349;
+ }
+
+ @Override
+ public void init() {
+
+ }
+
+}
diff --git a/src/com/vaadin/tests/components/HierarchicalContainerSorting.java b/src/com/vaadin/tests/components/HierarchicalContainerSorting.java
new file mode 100644
index 0000000000..4e498d93b6
--- /dev/null
+++ b/src/com/vaadin/tests/components/HierarchicalContainerSorting.java
@@ -0,0 +1,97 @@
+package com.vaadin.tests.components;
+
+import com.vaadin.data.Item;
+import com.vaadin.data.util.HierarchicalContainer;
+import com.vaadin.data.util.IndexedContainer;
+import com.vaadin.ui.HorizontalLayout;
+import com.vaadin.ui.Tree;
+
+public class HierarchicalContainerSorting extends TestBase {
+ IndexedContainer hierarchicalContainer = new HierarchicalContainer();
+
+ IndexedContainer indexedContainer = new IndexedContainer();
+
+ @Override
+ public void setup() {
+
+ populateContainer(indexedContainer);
+ populateContainer(hierarchicalContainer);
+
+ sort(indexedContainer);
+ sort(hierarchicalContainer);
+
+ HorizontalLayout hl = new HorizontalLayout();
+
+ Tree tree1 = new Tree("Tree with IndexedContainer");
+ tree1.setContainerDataSource(indexedContainer);
+ hl.addComponent(tree1);
+
+ Tree tree2 = new Tree("Tree with HierarchicalContainer");
+ tree2.setContainerDataSource(hierarchicalContainer);
+ for (Object id : tree2.rootItemIds()) {
+ tree2.expandItemsRecursively(id);
+ }
+ hl.addComponent(tree2);
+
+ addComponent(hl);
+ }
+
+ private static void sort(IndexedContainer container) {
+ Object[] properties = new Object[1];
+ properties[0] = "name";
+
+ boolean[] ascending = new boolean[1];
+ ascending[0] = true;
+
+ container.sort(properties, ascending);
+ }
+
+ private static void populateContainer(IndexedContainer container) {
+ container.addContainerProperty("name", String.class, null);
+
+ addItem(container, "Games", null);
+ addItem(container, "Call of Duty", "Games");
+ addItem(container, "Might and Magic", "Games");
+ addItem(container, "Fallout", "Games");
+ addItem(container, "Red Alert", "Games");
+
+ addItem(container, "Cars", null);
+ addItem(container, "Toyota", "Cars");
+ addItem(container, "Volvo", "Cars");
+ addItem(container, "Audi", "Cars");
+ addItem(container, "Ford", "Cars");
+
+ addItem(container, "Natural languages", null);
+ addItem(container, "Swedish", "Natural languages");
+ addItem(container, "English", "Natural languages");
+ addItem(container, "Finnish", "Natural languages");
+
+ addItem(container, "Programming languages", null);
+ addItem(container, "C++", "Programming languages");
+ addItem(container, "PHP", "Programming languages");
+ addItem(container, "Java", "Programming languages");
+ addItem(container, "Python", "Programming languages");
+
+ }
+
+ public static void addItem(IndexedContainer container, String string,
+ String parent) {
+ Item item = container.addItem(string);
+ item.getItemProperty("name").setValue(string);
+
+ if (parent != null && container instanceof HierarchicalContainer) {
+ ((HierarchicalContainer) container).setParent(string, parent);
+ }
+ }
+
+ @Override
+ protected String getDescription() {
+ return "The two trees contain the same data, one uses IndexedContainer, one uses HierarchicalContainer. Both should be sorted, both the root nodes and the children.";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 3095;
+ }
+
+} \ No newline at end of file
diff --git a/src/com/vaadin/tests/components/absolutelayout/AbsoluteLayoutClipping.html b/src/com/vaadin/tests/components/absolutelayout/AbsoluteLayoutClipping.html
new file mode 100644
index 0000000000..ff5c890abf
--- /dev/null
+++ b/src/com/vaadin/tests/components/absolutelayout/AbsoluteLayoutClipping.html
@@ -0,0 +1,27 @@
+<?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>AbsoluteLayoutClipping</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">AbsoluteLayoutClipping</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.absolutelayout.AbsoluteLayoutClipping</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/abstractfield/AbstractFieldCommitWithInvalidValues.html b/src/com/vaadin/tests/components/abstractfield/AbstractFieldCommitWithInvalidValues.html
new file mode 100644
index 0000000000..ef2c784e15
--- /dev/null
+++ b/src/com/vaadin/tests/components/abstractfield/AbstractFieldCommitWithInvalidValues.html
@@ -0,0 +1,72 @@
+<?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>AbstractFieldCommitWithInvalidValues</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">AbstractFieldCommitWithInvalidValues</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.abstractfield.AbstractFieldCommitWithInvalidValues</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsabstractfieldAbstractFieldCommitWithInvalidValues::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>vaadin=runcomvaadintestscomponentsabstractfieldAbstractFieldCommitWithInvalidValues::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTextField[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>vaadin=runcomvaadintestscomponentsabstractfieldAbstractFieldCommitWithInvalidValues::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTextField[0]</td>
+ <td>long</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsabstractfieldAbstractFieldCommitWithInvalidValues::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/accordion/RemoveTabs.html b/src/com/vaadin/tests/components/accordion/RemoveTabs.html
new file mode 100644
index 0000000000..ec24ade8ce
--- /dev/null
+++ b/src/com/vaadin/tests/components/accordion/RemoveTabs.html
@@ -0,0 +1,122 @@
+<?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>RemoveTabsTest</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">RemoveTabsTest</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.accordion.RemoveTabs</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsaccordionRemoveTabs::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsaccordionRemoveTabs::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VAccordion[0]/domChild[2]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsaccordionRemoveTabs::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VButton[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsaccordionRemoveTabs::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsaccordionRemoveTabs::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsaccordionRemoveTabs::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/beanitemcontainer/TestBeanItemContainerUsage.html b/src/com/vaadin/tests/components/beanitemcontainer/TestBeanItemContainerUsage.html
new file mode 100644
index 0000000000..ea49b92c6a
--- /dev/null
+++ b/src/com/vaadin/tests/components/beanitemcontainer/TestBeanItemContainerUsage.html
@@ -0,0 +1,37 @@
+<?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>TestBeanItemContainerUsage</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">TestBeanItemContainerUsage</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.beanitemcontainer.TestBeanItemContainerUsage</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextPresent</td>
+ <td>Table containing Persons<br /><br /><br /><br />age<br /><br />firstName<br /><br />lastName<br /><br /><br /><br /><br />35<br />Jones<br />Birchman<br />30<br />Marc<br />Smith<br />75<br />Greg<br />Sandman</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/button/ButtonUndefinedWidth.html b/src/com/vaadin/tests/components/button/ButtonUndefinedWidth.html
new file mode 100644
index 0000000000..7c9b3a6559
--- /dev/null
+++ b/src/com/vaadin/tests/components/button/ButtonUndefinedWidth.html
@@ -0,0 +1,82 @@
+<?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>ButtonUndefinedWidth</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">ButtonUndefinedWidth</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.button.ButtonUndefinedWidth</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>1</td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsbuttonButtonUndefinedWidth::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsbuttonButtonUndefinedWidth::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VNativeButton[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsbuttonButtonUndefinedWidth::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VScrollTable[0]/ScrollPanel[0]/VScrollTable$VScrollTableBody[0]/VScrollTable$VScrollTableBody$VScrollTableRow[0]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsbuttonButtonUndefinedWidth::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VScrollTable[0]/ScrollPanel[0]/VScrollTable$VScrollTableBody[0]/VScrollTable$VScrollTableBody$VScrollTableRow[1]/VNativeButton[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>1</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/button/DisabledButtons.html b/src/com/vaadin/tests/components/button/DisabledButtons.html
new file mode 100644
index 0000000000..65584fd4d0
--- /dev/null
+++ b/src/com/vaadin/tests/components/button/DisabledButtons.html
@@ -0,0 +1,32 @@
+<?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>DisabledButtons</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">DisabledButtons</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.button.DisabledButtons</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/button/IE7ButtonWithIcon.html b/src/com/vaadin/tests/components/button/IE7ButtonWithIcon.html
new file mode 100644
index 0000000000..a05b439759
--- /dev/null
+++ b/src/com/vaadin/tests/components/button/IE7ButtonWithIcon.html
@@ -0,0 +1,32 @@
+<?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>IE7ButtonWithIcon</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">IE7ButtonWithIcon</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.button.IE7ButtonWithIcon</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/button/TooltipForDisabledButton.html b/src/com/vaadin/tests/components/button/TooltipForDisabledButton.html
new file mode 100644
index 0000000000..f5dc4dfebe
--- /dev/null
+++ b/src/com/vaadin/tests/components/button/TooltipForDisabledButton.html
@@ -0,0 +1,92 @@
+<?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>TooltipForDisabledButton</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">TooltipForDisabledButton</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.button.TooltipForDisabledButton</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsbuttonTooltipForDisabledButton::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseOver</td>
+ <td>vaadin=runcomvaadintestscomponentsbuttonTooltipForDisabledButton::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>pause</td>
+ <td>500</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsbuttonTooltipForDisabledButton::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseOver</td>
+ <td>vaadin=runcomvaadintestscomponentsbuttonTooltipForDisabledButton::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>pause</td>
+ <td>500</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/caption/LargeCaptionIcon.html b/src/com/vaadin/tests/components/caption/LargeCaptionIcon.html
new file mode 100644
index 0000000000..61a014c975
--- /dev/null
+++ b/src/com/vaadin/tests/components/caption/LargeCaptionIcon.html
@@ -0,0 +1,37 @@
+<?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>LargeCaptionIcon</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">LargeCaptionIcon</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.caption.LargeCaptionIcon</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>refresh</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/checkbox/CheckboxCaptionWrapping.html b/src/com/vaadin/tests/components/checkbox/CheckboxCaptionWrapping.html
new file mode 100644
index 0000000000..26ecc95721
--- /dev/null
+++ b/src/com/vaadin/tests/components/checkbox/CheckboxCaptionWrapping.html
@@ -0,0 +1,32 @@
+<?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>CheckboxCaptionWrapping</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">CheckboxCaptionWrapping</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.checkbox.CheckboxCaptionWrapping</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/checkbox/CheckboxIcon.html b/src/com/vaadin/tests/components/checkbox/CheckboxIcon.html
new file mode 100644
index 0000000000..1404a052f0
--- /dev/null
+++ b/src/com/vaadin/tests/components/checkbox/CheckboxIcon.html
@@ -0,0 +1,62 @@
+<?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>CheckboxIcon</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">CheckboxIcon</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.checkbox.CheckboxIcon</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextPresent</td>
+ <td>A checkbox</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentscheckboxCheckboxIcon::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VCheckBox[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseOver</td>
+ <td>vaadin=runcomvaadintestscomponentscheckboxCheckboxIcon::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VCheckBox[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/checkbox/CheckboxIcon.java b/src/com/vaadin/tests/components/checkbox/CheckboxIcon.java
index b38348e45f..1f96a05084 100644
--- a/src/com/vaadin/tests/components/checkbox/CheckboxIcon.java
+++ b/src/com/vaadin/tests/components/checkbox/CheckboxIcon.java
@@ -20,7 +20,7 @@ public class CheckboxIcon extends TestBase {
@Override
protected void setup() {
CheckBox checkbox = new CheckBox("A checkbox");
- checkbox.setIcon(new ThemeResource("icons/32/calendar.png"));
+ checkbox.setIcon(new ThemeResource("../runo/icons/32/calendar.png"));
checkbox.setDescription("Tooltip for checkbox");
addComponent(checkbox);
diff --git a/src/com/vaadin/tests/components/combobox/ComboBoxItemIcon.html b/src/com/vaadin/tests/components/combobox/ComboBoxItemIcon.html
new file mode 100644
index 0000000000..447000d6d7
--- /dev/null
+++ b/src/com/vaadin/tests/components/combobox/ComboBoxItemIcon.html
@@ -0,0 +1,57 @@
+<?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>ComboBoxItemIcon</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">ComboBoxItemIcon</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.combobox.ComboBoxItemIcon</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentscomboboxComboBoxItemIcon::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VFilterSelect[0]/domChild[1]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='VAADIN_COMBOBOX_OPTIONLIST']/div/div[2]/table/tbody/tr[2]/td</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/combobox/ComboBoxNavigation.html b/src/com/vaadin/tests/components/combobox/ComboBoxNavigation.html
new file mode 100644
index 0000000000..38f82be079
--- /dev/null
+++ b/src/com/vaadin/tests/components/combobox/ComboBoxNavigation.html
@@ -0,0 +1,82 @@
+<?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>ComboBoxNavigation</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">ComboBoxNavigation</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.combobox.ComboBoxNavigation</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentscomboboxComboBoxNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VFilterSelect[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>keyPress</td>
+ <td>vaadin=runcomvaadintestscomponentscomboboxComboBoxNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VFilterSelect[0]/domChild[0]</td>
+ <td>\25</td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>keyPress</td>
+ <td>vaadin=runcomvaadintestscomponentscomboboxComboBoxNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VFilterSelect[0]/domChild[0]</td>
+ <td>\25</td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>keyPress</td>
+ <td>vaadin=runcomvaadintestscomponentscomboboxComboBoxNavigation::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VFilterSelect[0]/domChild[0]</td>
+ <td>\24</td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/datefield/DateFieldReadOnly.html b/src/com/vaadin/tests/components/datefield/DateFieldReadOnly.html
new file mode 100644
index 0000000000..efc9983ab5
--- /dev/null
+++ b/src/com/vaadin/tests/components/datefield/DateFieldReadOnly.html
@@ -0,0 +1,77 @@
+<?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>DateFieldReadOnly</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">DateFieldReadOnly</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.datefield.DateFieldReadOnly</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>1</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsdatefieldDateFieldReadOnly::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsdatefieldDateFieldReadOnly::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VPopupCalendar[0]/domChild[1]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>2</td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>vaadin=runcomvaadintestscomponentsdatefieldDateFieldReadOnly::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td>0,0</td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>1</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/datefield/DateFieldReadOnly.java b/src/com/vaadin/tests/components/datefield/DateFieldReadOnly.java
index 857af3a8be..46af5b07be 100644
--- a/src/com/vaadin/tests/components/datefield/DateFieldReadOnly.java
+++ b/src/com/vaadin/tests/components/datefield/DateFieldReadOnly.java
@@ -30,7 +30,11 @@ public class DateFieldReadOnly extends TestBase {
timeField.setWidth("8em");
timeField.addStyleName("timeField");
- timeField.setValue(new Date());
+ // Set date so that testing always has same time
+ Date date = new Date();
+ date.setTime((long) 1000000000000.0);
+
+ timeField.setValue(date);
timeField.setReadOnly(true);
addComponent(timeField);
diff --git a/src/com/vaadin/tests/components/datefield/TestDatefieldYear.html b/src/com/vaadin/tests/components/datefield/TestDatefieldYear.html
new file mode 100644
index 0000000000..2582948eee
--- /dev/null
+++ b/src/com/vaadin/tests/components/datefield/TestDatefieldYear.html
@@ -0,0 +1,92 @@
+<?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>TestDatefieldYear</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">TestDatefieldYear</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.datefield.TestDatefieldYear</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsdatefieldTestDatefieldYear::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VPopupCalendar[0]/domChild[1]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsdatefieldTestDatefieldYear::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VPopupCalendar[0]/domChild[1]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//table[@id='PID_VAADIN_POPUPCAL']/tbody/tr/td[1]/button</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsdatefieldTestDatefieldYear::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VPopupCalendar[0]/domChild[1]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//table[@id='PID_VAADIN_POPUPCAL']/tbody/tr/td[2]/button</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/embedded/EmbeddedTooltip.html b/src/com/vaadin/tests/components/embedded/EmbeddedTooltip.html
new file mode 100644
index 0000000000..43e9863fb9
--- /dev/null
+++ b/src/com/vaadin/tests/components/embedded/EmbeddedTooltip.html
@@ -0,0 +1,42 @@
+<?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>EmbeddedTooltip</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">EmbeddedTooltip</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.embedded.EmbeddedTooltip</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseOver</td>
+ <td>vaadin=runcomvaadintestscomponentsembeddedEmbeddedTooltip::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VEmbedded[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/form/FormCommitWithInvalidValues.html b/src/com/vaadin/tests/components/form/FormCommitWithInvalidValues.html
new file mode 100644
index 0000000000..b0305e60dc
--- /dev/null
+++ b/src/com/vaadin/tests/components/form/FormCommitWithInvalidValues.html
@@ -0,0 +1,112 @@
+<?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>FormCommitWithInvalidValues</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">FormCommitWithInvalidValues</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.form.FormCommitWithInvalidValues</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsformFormCommitWithInvalidValues::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsformFormCommitWithInvalidValues::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VForm[0]/VFormLayout[0]/VFormLayout$VFormLayoutTable[0]/VTextField[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>vaadin=runcomvaadintestscomponentsformFormCommitWithInvalidValues::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VForm[0]/VFormLayout[0]/VFormLayout$VFormLayoutTable[0]/VTextField[0]</td>
+ <td>1</td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsformFormCommitWithInvalidValues::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsformFormCommitWithInvalidValues::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VForm[0]/VFormLayout[0]/VFormLayout$VFormLayoutTable[0]/VTextField[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>vaadin=runcomvaadintestscomponentsformFormCommitWithInvalidValues::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VForm[0]/VFormLayout[0]/VFormLayout$VFormLayoutTable[0]/VTextField[0]</td>
+ <td>123</td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsformFormCommitWithInvalidValues::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/form/FormNotGettingSmaller.java b/src/com/vaadin/tests/components/form/FormNotGettingSmaller.java
new file mode 100644
index 0000000000..1cf21126a0
--- /dev/null
+++ b/src/com/vaadin/tests/components/form/FormNotGettingSmaller.java
@@ -0,0 +1,51 @@
+package com.vaadin.tests.components.form;
+
+import com.vaadin.data.Item;
+import com.vaadin.data.util.ObjectProperty;
+import com.vaadin.data.util.PropertysetItem;
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Form;
+import com.vaadin.ui.HorizontalLayout;
+import com.vaadin.ui.Label;
+
+public class FormNotGettingSmaller extends TestBase {
+
+ @Override
+ protected void setup() {
+ Item item = new PropertysetItem();
+ item.addItemProperty("name", new ObjectProperty("Charles Anthony"));
+ item.addItemProperty("city", new ObjectProperty("London"));
+ item.addItemProperty("isTallPerson", new ObjectProperty(Boolean.FALSE));
+
+ Label spacer = new Label();
+ HorizontalLayout buttons = new HorizontalLayout();
+ buttons.setSpacing(true);
+ buttons.setWidth("100%");
+ buttons.addComponent(spacer);
+ buttons.addComponent(new Button("OK"));
+ buttons.addComponent(new Button("Cancel"));
+ buttons.setExpandRatio(spacer, 1f);
+
+ Form form = new Form();
+ form
+ .setDescription("Ooh. Just a demonstration of things, really. Some long lorem ipsum dolor sit amet.Some very long lorem ipsum dolor sit amet.Some very long lorem ipsum dolor sit amet.Some very long lorem ipsum dolor sit amet.");
+
+ form.setItemDataSource(item);
+ form.setFooter(buttons);
+
+ getLayout().addComponent(form);
+ }
+
+ @Override
+ protected String getDescription() {
+ return "When resizing window buttons should stay on "
+ + "right edge of the screent. Form should also get narrower.";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 3365;
+ }
+
+}
diff --git a/src/com/vaadin/tests/components/form/FormRenderingFlicker.html b/src/com/vaadin/tests/components/form/FormRenderingFlicker.html
new file mode 100644
index 0000000000..a99556d6d6
--- /dev/null
+++ b/src/com/vaadin/tests/components/form/FormRenderingFlicker.html
@@ -0,0 +1,42 @@
+<?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>FormRenderingFlicker</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">FormRenderingFlicker</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.form.FormRenderingFlicker</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsformFormRenderingFlicker::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VPanel[0]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/label/HundredPercentWideLabelResize.html b/src/com/vaadin/tests/components/label/HundredPercentWideLabelResize.html
new file mode 100644
index 0000000000..667f08ba4f
--- /dev/null
+++ b/src/com/vaadin/tests/components/label/HundredPercentWideLabelResize.html
@@ -0,0 +1,62 @@
+<?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>HundredPercentWideLabelResize</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">HundredPercentWideLabelResize</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.label.HundredPercentWideLabelResize</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>1</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentslabelHundredPercentWideLabelResize::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>2</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentslabelHundredPercentWideLabelResize::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>1</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/label/LabelWrapping.html b/src/com/vaadin/tests/components/label/LabelWrapping.html
new file mode 100644
index 0000000000..b8038a75b4
--- /dev/null
+++ b/src/com/vaadin/tests/components/label/LabelWrapping.html
@@ -0,0 +1,62 @@
+<?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>LabelWrapping</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">LabelWrapping</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.label.LabelWrapping</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>1</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentslabelLabelWrapping::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VHorizontalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>2</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentslabelLabelWrapping::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VHorizontalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>1</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/link/LinkIcon.html b/src/com/vaadin/tests/components/link/LinkIcon.html
new file mode 100644
index 0000000000..8ae7942916
--- /dev/null
+++ b/src/com/vaadin/tests/components/link/LinkIcon.html
@@ -0,0 +1,27 @@
+<?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>LinkIcon</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">LinkIcon</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.link.LinkIcon</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/link/LinkIcon.java b/src/com/vaadin/tests/components/link/LinkIcon.java
index 0b10e87f21..372417a45c 100644
--- a/src/com/vaadin/tests/components/link/LinkIcon.java
+++ b/src/com/vaadin/tests/components/link/LinkIcon.java
@@ -22,7 +22,7 @@ public class LinkIcon extends TestBase {
protected void setup() {
Link l = new Link("www.google.com", new ExternalResource(
"http://www.vaadin.com/"));
- l.setIcon(new ThemeResource("icons/32/calendar.png"));
+ l.setIcon(new ThemeResource("../runo/icons/32/calendar.png"));
addComponent(l);
}
diff --git a/src/com/vaadin/tests/components/link/LinkTargetSize.html b/src/com/vaadin/tests/components/link/LinkTargetSize.html
new file mode 100644
index 0000000000..a28865361f
--- /dev/null
+++ b/src/com/vaadin/tests/components/link/LinkTargetSize.html
@@ -0,0 +1,42 @@
+<?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>LinkTargetSize</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">LinkTargetSize</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.link.LinkTargetSize</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentslinkLinkTargetSize::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLink[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/orderedlayout/ReplaceComponentNPE.html b/src/com/vaadin/tests/components/orderedlayout/ReplaceComponentNPE.html
new file mode 100644
index 0000000000..7a071030dc
--- /dev/null
+++ b/src/com/vaadin/tests/components/orderedlayout/ReplaceComponentNPE.html
@@ -0,0 +1,47 @@
+<?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>ReplaceComponentNPE</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">ReplaceComponentNPE</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.orderedlayout.ReplaceComponentNPE</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsorderedlayoutReplaceComponentNPE::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/popupview/PopupViewOffScreen.html b/src/com/vaadin/tests/components/popupview/PopupViewOffScreen.html
new file mode 100644
index 0000000000..99ee864179
--- /dev/null
+++ b/src/com/vaadin/tests/components/popupview/PopupViewOffScreen.html
@@ -0,0 +1,47 @@
+<?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>PopupViewOffScreen</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">PopupViewOffScreen</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.popupview.PopupViewOffScreen</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentspopupviewPopupViewOffScreen::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/richtextarea/RichTextAreaSize.html b/src/com/vaadin/tests/components/richtextarea/RichTextAreaSize.html
new file mode 100644
index 0000000000..7708c88e54
--- /dev/null
+++ b/src/com/vaadin/tests/components/richtextarea/RichTextAreaSize.html
@@ -0,0 +1,32 @@
+<?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>RichTextAreaSize</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">RichTextAreaSize</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.richtextarea.RichTextAreaSize</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/splitpanel/SplitPanelSplitterWidth.html b/src/com/vaadin/tests/components/splitpanel/SplitPanelSplitterWidth.html
new file mode 100644
index 0000000000..876ed75ea8
--- /dev/null
+++ b/src/com/vaadin/tests/components/splitpanel/SplitPanelSplitterWidth.html
@@ -0,0 +1,47 @@
+<?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>SplitPanelSplitterWidth</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">SplitPanelSplitterWidth</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.splitpanel.SplitPanelSplitterWidth</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentssplitpanelSplitPanelSplitterWidth::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/table/ClippedComponentsInTable.html b/src/com/vaadin/tests/components/table/ClippedComponentsInTable.html
new file mode 100644
index 0000000000..4a6ccbbe2d
--- /dev/null
+++ b/src/com/vaadin/tests/components/table/ClippedComponentsInTable.html
@@ -0,0 +1,32 @@
+<?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>ClippedComponentsInTable</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">ClippedComponentsInTable</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.table.ClippedComponentsInTable</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/table/ColumnCollapsingAndColumnExpansion.html b/src/com/vaadin/tests/components/table/ColumnCollapsingAndColumnExpansion.html
new file mode 100644
index 0000000000..33509916f7
--- /dev/null
+++ b/src/com/vaadin/tests/components/table/ColumnCollapsingAndColumnExpansion.html
@@ -0,0 +1,57 @@
+<?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>ColumnCollapsingAndColumnExpansion</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">ColumnCollapsingAndColumnExpansion</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.table.ColumnCollapsingAndColumnExpansion</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableColumnCollapsingAndColumnExpansion::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[0]/domChild[1]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//td[@id='gwt-uid-2']/span/div</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/table/ColumnExpandRatio.html b/src/com/vaadin/tests/components/table/ColumnExpandRatio.html
new file mode 100644
index 0000000000..6d5422831e
--- /dev/null
+++ b/src/com/vaadin/tests/components/table/ColumnExpandRatio.html
@@ -0,0 +1,32 @@
+<?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>ColumnExpandRatio</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">ColumnExpandRatio</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.table.ColumnExpandRatio</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/table/ColumnExpandWithFixedColumns.html b/src/com/vaadin/tests/components/table/ColumnExpandWithFixedColumns.html
new file mode 100644
index 0000000000..eb338c8dde
--- /dev/null
+++ b/src/com/vaadin/tests/components/table/ColumnExpandWithFixedColumns.html
@@ -0,0 +1,32 @@
+<?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>ColumnExpandWithFixedColumns</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">ColumnExpandWithFixedColumns</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.table.ColumnExpandWithFixedColumns</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/table/ContainerSizeChange.html b/src/com/vaadin/tests/components/table/ContainerSizeChange.html
new file mode 100644
index 0000000000..7c2374f322
--- /dev/null
+++ b/src/com/vaadin/tests/components/table/ContainerSizeChange.html
@@ -0,0 +1,82 @@
+<?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>ContainerSizeChange</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">ContainerSizeChange</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.table.ContainerSizeChange</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableContainerSizeChange::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableContainerSizeChange::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>scroll</td>
+ <td>vaadin=runcomvaadintestscomponentstableContainerSizeChange::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]</td>
+ <td>945</td>
+</tr>
+<tr>
+ <td>pause</td>
+ <td>300</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>scroll</td>
+ <td>vaadin=runcomvaadintestscomponentstableContainerSizeChange::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]</td>
+ <td>525</td>
+</tr>
+<tr>
+ <td>pause</td>
+ <td>300</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/table/LabelEmbeddedClickThroughForTable.html b/src/com/vaadin/tests/components/table/LabelEmbeddedClickThroughForTable.html
new file mode 100644
index 0000000000..e8dccea4e7
--- /dev/null
+++ b/src/com/vaadin/tests/components/table/LabelEmbeddedClickThroughForTable.html
@@ -0,0 +1,52 @@
+<?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>LabelEmbeddedClickThroughForTable</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">LabelEmbeddedClickThroughForTable</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.table.LabelEmbeddedClickThroughForTable</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableLabelEmbeddedClickThroughForTable::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/ScrollPanel[0]/VScrollTable$VScrollTableBody[0]/VScrollTable$VScrollTableBody$VScrollTableRow[0]/VLabel[1]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableLabelEmbeddedClickThroughForTable::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/ScrollPanel[0]/VScrollTable$VScrollTableBody[0]/VScrollTable$VScrollTableBody$VScrollTableRow[1]/VLabel[1]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/table/MissingScrollbar.html b/src/com/vaadin/tests/components/table/MissingScrollbar.html
new file mode 100644
index 0000000000..dfea329e60
--- /dev/null
+++ b/src/com/vaadin/tests/components/table/MissingScrollbar.html
@@ -0,0 +1,57 @@
+<?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>MissingScrollbar</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">MissingScrollbar</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.table.MissingScrollbar</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableMissingScrollbar::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VHorizontalLayout[0]/ChildComponentContainer[0]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableMissingScrollbar::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VHorizontalLayout[0]/ChildComponentContainer[0]/VVerticalLayout[0]/ChildComponentContainer[0]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/table/ModifyContainerProperty.java b/src/com/vaadin/tests/components/table/ModifyContainerProperty.java
new file mode 100644
index 0000000000..0038e7f083
--- /dev/null
+++ b/src/com/vaadin/tests/components/table/ModifyContainerProperty.java
@@ -0,0 +1,57 @@
+package com.vaadin.tests.components.table;
+
+import com.vaadin.data.util.IndexedContainer;
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Table;
+
+@SuppressWarnings("serial")
+public class ModifyContainerProperty extends TestBase {
+
+ private Table table = new Table();
+ private IndexedContainer ic = new IndexedContainer();
+
+ @Override
+ protected void setup() {
+ addComponent(table);
+
+ ic.addContainerProperty("one", String.class, "one");
+ ic.addContainerProperty("two", String.class, "two");
+
+ ic.addItem("foo");
+
+ ic.getContainerProperty("foo", "one").setValue("bar");
+ ic.getContainerProperty("foo", "two").setValue("baz");
+
+ table.setContainerDataSource(ic);
+ addComponent(new Button("Remove container property",
+ new Button.ClickListener() {
+ public void buttonClick(com.vaadin.ui.Button.ClickEvent arg0) {
+ ic.removeContainerProperty("one");
+ }
+ }));
+ addComponent(new Button("Add container property",
+ new Button.ClickListener() {
+ public void buttonClick(com.vaadin.ui.Button.ClickEvent arg0) {
+ ic.addContainerProperty("three", String.class, "three");
+ Object[] current = table.getVisibleColumns();
+ Object[] vis = new Object[current.length + 1];
+ for (int i = 0; i < current.length; i++) {
+ vis[i] = current[i];
+ }
+ vis[current.length] = "three";
+ table.setVisibleColumns(vis);
+ }
+ }));
+ }
+
+ @Override
+ protected String getDescription() {
+ return "Clicking on \"Add container property\" adds a property to the container and sets it visible. The table should then show a \"three\" column in addition to the others. Clicking on \"Remove container property\" should remove column \"two\" from the table.";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 3165;
+ }
+}
diff --git a/src/com/vaadin/tests/components/table/PropertyValueChange.html b/src/com/vaadin/tests/components/table/PropertyValueChange.html
new file mode 100644
index 0000000000..41f97ebb61
--- /dev/null
+++ b/src/com/vaadin/tests/components/table/PropertyValueChange.html
@@ -0,0 +1,87 @@
+<?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>PropertyValueChange</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">PropertyValueChange</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.table.PropertyValueChange</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstablePropertyValueChange::PID_Seditortable/ScrollPanel[0]/VScrollTable$VScrollTableBody[0]/VScrollTable$VScrollTableBody$VScrollTableRow[0]/VFilterSelect[0]/domChild[1]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='VAADIN_COMBOBOX_OPTIONLIST']/div/div[2]/table/tbody/tr[4]/td</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstablePropertyValueChange::PID_Seditortable/ScrollPanel[0]/VScrollTable$VScrollTableBody[0]/VScrollTable$VScrollTableBody$VScrollTableRow[0]/VTextField[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>vaadin=runcomvaadintestscomponentstablePropertyValueChange::PID_Seditortable/ScrollPanel[0]/VScrollTable$VScrollTableBody[0]/VScrollTable$VScrollTableBody$VScrollTableRow[0]/VTextField[0]</td>
+ <td>9</td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstablePropertyValueChange::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/table/RowAdditionTest.html b/src/com/vaadin/tests/components/table/RowAdditionTest.html
new file mode 100644
index 0000000000..4125e32e41
--- /dev/null
+++ b/src/com/vaadin/tests/components/table/RowAdditionTest.html
@@ -0,0 +1,157 @@
+<?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>RowAdditionTest</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">RowAdditionTest</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.table.RowAdditionTest</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableRowAdditionTest::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VHorizontalLayout[0]/ChildComponentContainer[0]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableRowAdditionTest::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VHorizontalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>scroll</td>
+ <td>vaadin=runcomvaadintestscomponentstableRowAdditionTest::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]</td>
+ <td>300</td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>scroll</td>
+ <td>vaadin=runcomvaadintestscomponentstableRowAdditionTest::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]</td>
+ <td>600</td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>scroll</td>
+ <td>vaadin=runcomvaadintestscomponentstableRowAdditionTest::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]</td>
+ <td>900</td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableRowAdditionTest::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VHorizontalLayout[0]/ChildComponentContainer[2]/VButton[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>scroll</td>
+ <td>vaadin=runcomvaadintestscomponentstableRowAdditionTest::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]</td>
+ <td>903</td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>scroll</td>
+ <td>vaadin=runcomvaadintestscomponentstableRowAdditionTest::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]</td>
+ <td>1203</td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>scroll</td>
+ <td>vaadin=runcomvaadintestscomponentstableRowAdditionTest::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]</td>
+ <td>1503</td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>scroll</td>
+ <td>vaadin=runcomvaadintestscomponentstableRowAdditionTest::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]</td>
+ <td>1803</td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>scroll</td>
+ <td>vaadin=runcomvaadintestscomponentstableRowAdditionTest::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]</td>
+ <td>1848</td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/table/TableLastRowMissing.html b/src/com/vaadin/tests/components/table/TableLastRowMissing.html
new file mode 100644
index 0000000000..ca8ee6d6a4
--- /dev/null
+++ b/src/com/vaadin/tests/components/table/TableLastRowMissing.html
@@ -0,0 +1,32 @@
+<?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>TableLastRowMissing</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">TableLastRowMissing</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.table.TableLastRowMissing</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/table/TablePageLengthUpdate.html b/src/com/vaadin/tests/components/table/TablePageLengthUpdate.html
new file mode 100644
index 0000000000..fe5887634f
--- /dev/null
+++ b/src/com/vaadin/tests/components/table/TablePageLengthUpdate.html
@@ -0,0 +1,127 @@
+<?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>TablePageLengthUpdate</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">TablePageLengthUpdate</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.table.TablePageLengthUpdate</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableTablePageLengthUpdate::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTextField[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>vaadin=runcomvaadintestscomponentstableTablePageLengthUpdate::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTextField[0]</td>
+ <td>200px</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableTablePageLengthUpdate::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextPresent</td>
+ <td>exact:Pagelength: 9</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableTablePageLengthUpdate::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTextField[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>vaadin=runcomvaadintestscomponentstableTablePageLengthUpdate::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTextField[0]</td>
+ <td>250px</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableTablePageLengthUpdate::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextPresent</td>
+ <td>exact:Pagelength: 11</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>vaadin=runcomvaadintestscomponentstableTablePageLengthUpdate::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTextField[0]</td>
+ <td>50px</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableTablePageLengthUpdate::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextPresent</td>
+ <td>exact:Pagelength: 2</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/table/TableRowHeight.html b/src/com/vaadin/tests/components/table/TableRowHeight.html
new file mode 100644
index 0000000000..a28df6329f
--- /dev/null
+++ b/src/com/vaadin/tests/components/table/TableRowHeight.html
@@ -0,0 +1,32 @@
+<?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>TableRowHeight</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">TableRowHeight</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.table.TableRowHeight</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/table/TableRowHeight2.html b/src/com/vaadin/tests/components/table/TableRowHeight2.html
new file mode 100644
index 0000000000..bd83c1d9dc
--- /dev/null
+++ b/src/com/vaadin/tests/components/table/TableRowHeight2.html
@@ -0,0 +1,57 @@
+<?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>TableRowHeight2</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">TableRowHeight2</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.table.TableRowHeight2</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>1</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableRowHeight2::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VHorizontalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/ScrollPanel[0]/VScrollTable$VScrollTableBody[0]/VScrollTable$VScrollTableBody$VScrollTableRow[0]/VButton[1]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableRowHeight2::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VHorizontalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/ScrollPanel[0]/VScrollTable$VScrollTableBody[0]/VScrollTable$VScrollTableBody$VScrollTableRow[1]/VButton[1]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>1</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/table/TableRowHeight3.html b/src/com/vaadin/tests/components/table/TableRowHeight3.html
new file mode 100644
index 0000000000..2aa90085e4
--- /dev/null
+++ b/src/com/vaadin/tests/components/table/TableRowHeight3.html
@@ -0,0 +1,27 @@
+<?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>TableRowHeight3</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">TableRowHeight3</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.table.TableRowHeight3</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/table/TableVisibleColumnsUpdate.html b/src/com/vaadin/tests/components/table/TableVisibleColumnsUpdate.html
new file mode 100644
index 0000000000..05325cb9e6
--- /dev/null
+++ b/src/com/vaadin/tests/components/table/TableVisibleColumnsUpdate.html
@@ -0,0 +1,77 @@
+<?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>TableVisibleColumnsUpdate</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">TableVisibleColumnsUpdate</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.table.TableVisibleColumnsUpdate</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>1</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableVisibleColumnsUpdate::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>2</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableVisibleColumnsUpdate::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>1</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableVisibleColumnsUpdate::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>2</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/table/TextFieldRelativeWidth.html b/src/com/vaadin/tests/components/table/TextFieldRelativeWidth.html
new file mode 100644
index 0000000000..5b5ea40168
--- /dev/null
+++ b/src/com/vaadin/tests/components/table/TextFieldRelativeWidth.html
@@ -0,0 +1,57 @@
+<?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>TextFieldRelativeWidth</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">TextFieldRelativeWidth</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.table.TextFieldRelativeWidth</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableTextFieldRelativeWidth::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/ScrollPanel[0]/VScrollTable$VScrollTableBody[0]/VScrollTable$VScrollTableBody$VScrollTableRow[2]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableTextFieldRelativeWidth::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/ScrollPanel[0]/VScrollTable$VScrollTableBody[0]/VScrollTable$VScrollTableBody$VScrollTableRow[4]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/tabsheet/AddAndRemoveTabs.html b/src/com/vaadin/tests/components/tabsheet/AddAndRemoveTabs.html
new file mode 100644
index 0000000000..dd07d8cef6
--- /dev/null
+++ b/src/com/vaadin/tests/components/tabsheet/AddAndRemoveTabs.html
@@ -0,0 +1,117 @@
+<?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>AddAndRemoveTabs</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">AddAndRemoveTabs</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.tabsheet.AddAndRemoveTabs</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetAddAndRemoveTabs::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VHorizontalLayout[0]/ChildComponentContainer[0]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetAddAndRemoveTabs::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetAddAndRemoveTabs::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetAddAndRemoveTabs::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetAddAndRemoveTabs::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetAddAndRemoveTabs::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VHorizontalLayout[1]/ChildComponentContainer[0]/VButton[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextPresent</td>
+ <td>Test 1<br /><br /><br /><br />Test 3<br /><br /><br /><br /><br /><br />Close tab<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Add new tab</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetAddAndRemoveTabs::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextPresent</td>
+ <td>Test 1<br /><br /><br /><br />Test 3<br /><br /><br /><br />Test 4<br /><br /><br /><br /><br /><br />Close tab<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Add new tab</td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/tabsheet/PreventTabChange.html b/src/com/vaadin/tests/components/tabsheet/PreventTabChange.html
new file mode 100644
index 0000000000..c4f5998f47
--- /dev/null
+++ b/src/com/vaadin/tests/components/tabsheet/PreventTabChange.html
@@ -0,0 +1,77 @@
+<?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:8080/" />
+<title>PreventTabChange</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">PreventTabChange</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.tabsheet.PreventTabChange</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetPreventTabChange::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetPreventTabChange::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[2]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetPreventTabChange::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetPreventTabChange::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[2]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/tabsheet/RemoveTabsTabsheet.html b/src/com/vaadin/tests/components/tabsheet/RemoveTabsTabsheet.html
new file mode 100644
index 0000000000..07db540395
--- /dev/null
+++ b/src/com/vaadin/tests/components/tabsheet/RemoveTabsTabsheet.html
@@ -0,0 +1,112 @@
+<?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>RemoveTabs</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">RemoveTabs</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.tabsheet.RemoveTabs</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextPresent</td>
+ <td>Tab 1<br /><br /><br /><br />Tab 2<br /><br /><br /><br />Tab 3<br /><br /><br /><br />Tab 4<br /><br /><br /><br />Tab 5<br /><br /><br /><br /><br /><br />This is the contents of tab 1<br /><br /><br /><br /><br /><br /><br /><br />close first tab<br /><br /><br />close last tab<br /><br /><br />Close current tab<br /><br /><br />reorder</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetRemoveTabs::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextPresent</td>
+ <td>Tab 2<br /><br /><br /><br />Tab 3<br /><br /><br /><br />Tab 4<br /><br /><br /><br />Tab 5<br /><br /><br /><br /><br /><br />This is the contents of tab 2<br /><br /><br /><br /><br /><br /><br /><br />close first tab<br /><br /><br />close last tab<br /><br /><br />Close current tab<br /><br /><br />reorder</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetRemoveTabs::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[2]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetRemoveTabs::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextPresent</td>
+ <td>Tab 2<br /><br /><br /><br />Tab 3<br /><br /><br /><br />Tab 5<br /><br /><br /><br /><br /><br />This is the contents of tab 2<br /><br /><br /><br /><br /><br /><br /><br />close first tab<br /><br /><br />close last tab<br /><br /><br />Close current tab<br /><br /><br />reorder</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetRemoveTabs::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextPresent</td>
+ <td>Tab 5<br /><br /><br /><br />Tab 3<br /><br /><br /><br />Tab 2<br /><br /><br /><br /><br /><br />This is the contents of tab 5<br /><br /><br /><br /><br /><br /><br /><br />close first tab<br /><br /><br />close last tab<br /><br /><br />Close current tab<br /><br /><br />reorder</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetRemoveTabs::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetRemoveTabs::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextPresent</td>
+ <td>Tab 5<br /><br /><br /><br />Tab 3<br /><br /><br /><br /><br /><br />This is the contents of tab 5<br /><br />This is the contents of tab 3<br /><br /><br /><br /><br /><br /><br /><br />close first tab<br /><br /><br />close last tab<br /><br /><br />Close current tab<br /><br /><br />reorder</td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/tabsheet/TabSheetCaptions.html b/src/com/vaadin/tests/components/tabsheet/TabSheetCaptions.html
new file mode 100644
index 0000000000..d240d4b419
--- /dev/null
+++ b/src/com/vaadin/tests/components/tabsheet/TabSheetCaptions.html
@@ -0,0 +1,77 @@
+<?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>TabSheetCaptions</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">TabSheetCaptions</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.tabsheet.TabSheetCaptions</td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyText</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabSheetCaptions::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>Panel initial caption (should also be tab caption)</td>
+</tr>
+<tr>
+ <td>verifyText</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabSheetCaptions::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VPanel[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>Panel initial caption (should also be tab caption)</td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabSheetCaptions::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyText</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabSheetCaptions::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>This is a new tab caption Sun, 2001-Sep-09</td>
+</tr>
+<tr>
+ <td>verifyText</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabSheetCaptions::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VPanel[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>Panel initial caption (should also be tab caption)</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabSheetCaptions::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyText</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabSheetCaptions::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>This is a new tab caption Sun, 2001-Sep-09</td>
+</tr>
+<tr>
+ <td>verifyText</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabSheetCaptions::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VPanel[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>This is a new panel caption Sun, 2001-Sep-09</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/tabsheet/TabSheetCaptions.java b/src/com/vaadin/tests/components/tabsheet/TabSheetCaptions.java
index 9e8f4a35f4..699988489f 100644
--- a/src/com/vaadin/tests/components/tabsheet/TabSheetCaptions.java
+++ b/src/com/vaadin/tests/components/tabsheet/TabSheetCaptions.java
@@ -1,6 +1,8 @@
package com.vaadin.tests.components.tabsheet;
+import java.text.SimpleDateFormat;
import java.util.Date;
+import java.util.Locale;
import com.vaadin.tests.components.TestBase;
import com.vaadin.ui.Button;
@@ -26,6 +28,11 @@ public class TabSheetCaptions extends TestBase {
@Override
protected void setup() {
final TabSheet tabSheet = new TabSheet();
+ // Define date and locale so that it doesn't change for machine/time
+ final SimpleDateFormat dateFormatter = new SimpleDateFormat(
+ "EEE, yyyy-MMM-dd", Locale.ENGLISH);
+ final Date date = new Date();
+ date.setTime((long) 1000000000000.0);
panel1 = new Panel("Panel initial caption (should also be tab caption)");
panel1.setSizeFull();
@@ -37,14 +44,15 @@ public class TabSheetCaptions extends TestBase {
button.addListener(new Button.ClickListener() {
public void buttonClick(ClickEvent event) {
tabSheet.setTabCaption(panel1, "This is a new tab caption "
- + new Date());
+ + dateFormatter.format(date));
}
});
Button button2 = new Button("Update panel caption");
button2.addListener(new Button.ClickListener() {
public void buttonClick(ClickEvent event) {
- panel1.setCaption("This is a new panel caption " + new Date());
+ panel1.setCaption("This is a new panel caption "
+ + dateFormatter.format(date));
}
});
diff --git a/src/com/vaadin/tests/components/tabsheet/TabSheetDisabling.html b/src/com/vaadin/tests/components/tabsheet/TabSheetDisabling.html
new file mode 100644
index 0000000000..bc03f7687b
--- /dev/null
+++ b/src/com/vaadin/tests/components/tabsheet/TabSheetDisabling.html
@@ -0,0 +1,162 @@
+<?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>TabSheetDisabling</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">TabSheetDisabling</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.tabsheet.TabSheetDisabling</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabSheetDisabling::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabSheetDisabling::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[5]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>1</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabSheetDisabling::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabSheetDisabling::/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>1</td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabSheetDisabling::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VButton[2]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabSheetDisabling::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[6]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>2</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabSheetDisabling::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabSheetDisabling::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabSheetDisabling::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VButton[3]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>3</td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabSheetDisabling::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VButton[1]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabSheetDisabling::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VButton[2]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>4</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/tabsheet/TabSheetIcons.html b/src/com/vaadin/tests/components/tabsheet/TabSheetIcons.html
new file mode 100644
index 0000000000..425da11af4
--- /dev/null
+++ b/src/com/vaadin/tests/components/tabsheet/TabSheetIcons.html
@@ -0,0 +1,27 @@
+<?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>TabSheetIcons</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">TabSheetIcons</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.tabsheet.TabSheetIcons</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/tabsheet/TabSheetIcons.java b/src/com/vaadin/tests/components/tabsheet/TabSheetIcons.java
index c295f1a9e5..49c9784eb9 100644
--- a/src/com/vaadin/tests/components/tabsheet/TabSheetIcons.java
+++ b/src/com/vaadin/tests/components/tabsheet/TabSheetIcons.java
@@ -37,11 +37,11 @@ public class TabSheetIcons extends TestBase {
Component[] tab = new Component[3];
tab[0] = new Label("This is tab 1");
- tab[0].setIcon(new ThemeResource("icons/32/folder-add.png"));
+ tab[0].setIcon(new ThemeResource("../runo/icons/32/folder-add.png"));
tab[0].setCaption("tab number 1");
tab[1] = new TextField("This is tab 2", "Contents of tab 2 textfield");
tab[2] = new Label("This is tab 3");
- tab[2].setIcon(new ThemeResource("icons/16/folder-add.png"));
+ tab[2].setIcon(new ThemeResource("../runo/icons/16/folder-add.png"));
tab[2].setCaption("tab number 3");
for (Component c : tab) {
diff --git a/src/com/vaadin/tests/components/tabsheet/TabSheetWithoutTabCaption.html b/src/com/vaadin/tests/components/tabsheet/TabSheetWithoutTabCaption.html
new file mode 100644
index 0000000000..36e85c1b37
--- /dev/null
+++ b/src/com/vaadin/tests/components/tabsheet/TabSheetWithoutTabCaption.html
@@ -0,0 +1,32 @@
+<?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>TabSheetWithoutTabCaption</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">TabSheetWithoutTabCaption</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.tabsheet.TabSheetWithoutTabCaption</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/tabsheet/TabsheetTooltip.html b/src/com/vaadin/tests/components/tabsheet/TabsheetTooltip.html
new file mode 100644
index 0000000000..08b7869587
--- /dev/null
+++ b/src/com/vaadin/tests/components/tabsheet/TabsheetTooltip.html
@@ -0,0 +1,82 @@
+<?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>TabsheetTooltip</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">TabsheetTooltip</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.tabsheet.TabsheetTooltip</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextPresent</td>
+ <td>Tab<br /> <br /><br /><br /><br />Tab 2<br /><br /><br /><br /><br /><br />Label</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabsheetTooltip::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextPresent</td>
+ <td>Tab<br /> <br /><br /><br /><br />Tab 2<br /><br /><br /><br /><br /><br />Label<br /><br />Another label, d'oh</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseOver</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabsheetTooltip::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabsheetTooltip::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseOver</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetTabsheetTooltip::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/tabsheet/VerticalScrollbarPosition.html b/src/com/vaadin/tests/components/tabsheet/VerticalScrollbarPosition.html
new file mode 100644
index 0000000000..3da03edb6a
--- /dev/null
+++ b/src/com/vaadin/tests/components/tabsheet/VerticalScrollbarPosition.html
@@ -0,0 +1,77 @@
+<?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>VerticalScrollbarPosition</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">VerticalScrollbarPosition</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.tabsheet.VerticalScrollbarPosition</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>1</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetVerticalScrollbarPosition::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/domChild[0]/domChild[1]/domChild[1]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>2</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetVerticalScrollbarPosition::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>3</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstabsheetVerticalScrollbarPosition::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>1</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/textfield/IE6Cursor.java b/src/com/vaadin/tests/components/textfield/IE6Cursor.java
new file mode 100644
index 0000000000..aee56dd7ee
--- /dev/null
+++ b/src/com/vaadin/tests/components/textfield/IE6Cursor.java
@@ -0,0 +1,27 @@
+package com.vaadin.tests.components.textfield;
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.ui.TextField;
+
+public class IE6Cursor extends TestBase {
+
+ @Override
+ protected void setup() {
+ TextField tf1 = new TextField("First");
+ TextField tf2 = new TextField("Second");
+ tf2.setInputPrompt("prompt");
+
+ addComponent(tf1);
+ addComponent(tf2);
+ }
+
+ @Override
+ protected String getDescription() {
+ return "Tabbing from the first field to the second should clear the second textfield and show the normal, blinking cursor in the field";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 3343;
+ }
+
+}
diff --git a/src/com/vaadin/tests/components/tree/TreeNodeCaptionWrapping.html b/src/com/vaadin/tests/components/tree/TreeNodeCaptionWrapping.html
new file mode 100644
index 0000000000..2c2baca773
--- /dev/null
+++ b/src/com/vaadin/tests/components/tree/TreeNodeCaptionWrapping.html
@@ -0,0 +1,37 @@
+<?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>TreeNodeCaptionWrapping</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">TreeNodeCaptionWrapping</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.tree.TreeNodeCaptionWrapping</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextPresent</td>
+ <td>1<br /><br /><br /><br /> <br />A very long item that should not wrap<br /><br /> <br />Subitem - also long</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/window/CenteredWindowWithUndefinedSize.html b/src/com/vaadin/tests/components/window/CenteredWindowWithUndefinedSize.html
new file mode 100644
index 0000000000..2e15d8d645
--- /dev/null
+++ b/src/com/vaadin/tests/components/window/CenteredWindowWithUndefinedSize.html
@@ -0,0 +1,32 @@
+<?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>CenteredWindowWithUndefinedSize</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">CenteredWindowWithUndefinedSize</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.window.CenteredWindowWithUndefinedSize</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/window/EmbeddedInSubWindow.html b/src/com/vaadin/tests/components/window/EmbeddedInSubWindow.html
new file mode 100644
index 0000000000..d74e09dd6a
--- /dev/null
+++ b/src/com/vaadin/tests/components/window/EmbeddedInSubWindow.html
@@ -0,0 +1,32 @@
+<?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>EmbeddedInSubWindow</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">EmbeddedInSubWindow</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.window.EmbeddedInSubWindow</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/window/SubWindowOrder.java b/src/com/vaadin/tests/components/window/SubWindowOrder.java
new file mode 100644
index 0000000000..ca0d4e662e
--- /dev/null
+++ b/src/com/vaadin/tests/components/window/SubWindowOrder.java
@@ -0,0 +1,28 @@
+package com.vaadin.tests.components.window;
+
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.ui.HorizontalLayout;
+import com.vaadin.ui.Window;
+
+public class SubWindowOrder extends TestBase {
+
+ @Override
+ protected void setup() {
+ Window mainWindow = getMainWindow();
+ for (int i = 1; i <= 10; i++) {
+ Window dialog = new Window("Dialog " + i, new HorizontalLayout());
+ mainWindow.addWindow(dialog);
+ }
+ }
+
+ @Override
+ protected String getDescription() {
+ return "Subwindows should be rendered in the same order as they are added.";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 3363;
+ }
+
+}
diff --git a/src/com/vaadin/tests/components/window/SubwindowInvalidLayout.html b/src/com/vaadin/tests/components/window/SubwindowInvalidLayout.html
new file mode 100644
index 0000000000..9d54eafd02
--- /dev/null
+++ b/src/com/vaadin/tests/components/window/SubwindowInvalidLayout.html
@@ -0,0 +1,32 @@
+<?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>SubwindowInvalidLayout</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">SubwindowInvalidLayout</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.window.SubwindowInvalidLayout</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/window/TestTooSmallSubwindowSize.html b/src/com/vaadin/tests/components/window/TestTooSmallSubwindowSize.html
new file mode 100644
index 0000000000..f926696d63
--- /dev/null
+++ b/src/com/vaadin/tests/components/window/TestTooSmallSubwindowSize.html
@@ -0,0 +1,32 @@
+<?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>TestTooSmallSubwindowSize</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">TestTooSmallSubwindowSize</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.window.TestTooSmallSubwindowSize</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/window/UndefinedWidthSubWindow.html b/src/com/vaadin/tests/components/window/UndefinedWidthSubWindow.html
new file mode 100644
index 0000000000..51aabc7e8f
--- /dev/null
+++ b/src/com/vaadin/tests/components/window/UndefinedWidthSubWindow.html
@@ -0,0 +1,32 @@
+<?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>UndefinedWidthSubWindow</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">UndefinedWidthSubWindow</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.window.UndefinedWidthSubWindow</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/tests/components/window/WindowShouldRemoveActionHandler.html b/src/com/vaadin/tests/components/window/WindowShouldRemoveActionHandler.html
new file mode 100644
index 0000000000..4923bff58a
--- /dev/null
+++ b/src/com/vaadin/tests/components/window/WindowShouldRemoveActionHandler.html
@@ -0,0 +1,107 @@
+<?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>WindowShouldRemoveActionHandler</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">WindowShouldRemoveActionHandler</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.window.WindowShouldRemoveActionHandler</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentswindowWindowShouldRemoveActionHandler::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentswindowWindowShouldRemoveActionHandler::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTitle</td>
+ <td>A panel with 2 action handlers</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentswindowWindowShouldRemoveActionHandler::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTitle</td>
+ <td>A panel with 3 action handlers</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentswindowWindowShouldRemoveActionHandler::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentswindowWindowShouldRemoveActionHandler::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTitle</td>
+ <td>A panel with 3 action handlers - Removed handler - Removed handler</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentswindowWindowShouldRemoveActionHandler::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForVaadin</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTitle</td>
+ <td>A panel with 2 action handlers</td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/src/com/vaadin/ui/Window.java b/src/com/vaadin/ui/Window.java
index c35675b08f..663aabbd79 100644
--- a/src/com/vaadin/ui/Window.java
+++ b/src/com/vaadin/ui/Window.java
@@ -9,8 +9,8 @@ import java.lang.reflect.Method;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Collections;
-import java.util.HashSet;
import java.util.Iterator;
+import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.Map;
import java.util.Set;
@@ -64,15 +64,15 @@ public class Window extends Panel implements URIHandler, ParameterHandler {
/**
* List of URI handlers for this window.
*/
- private LinkedList uriHandlerList = null;
+ private LinkedList<URIHandler> uriHandlerList = null;
/**
* List of parameter handlers for this window.
*/
- private LinkedList parameterHandlerList = null;
+ private LinkedList<ParameterHandler> parameterHandlerList = null;
/** Set of subwindows */
- private final HashSet subwindows = new HashSet();
+ private final LinkedHashSet<Window> subwindows = new LinkedHashSet<Window>();
/**
* Explicitly specified theme of this window. If null, application theme is
@@ -83,7 +83,7 @@ public class Window extends Panel implements URIHandler, ParameterHandler {
/**
* Resources to be opened automatically on next repaint.
*/
- private final LinkedList openList = new LinkedList();
+ private final LinkedList<OpenResource> openList = new LinkedList<OpenResource>();
/**
* The name of the window.
@@ -107,7 +107,7 @@ public class Window extends Panel implements URIHandler, ParameterHandler {
*/
private int positionX = -1;
- private LinkedList notifications;
+ private LinkedList<Notification> notifications;
private boolean modal = false;
@@ -282,7 +282,7 @@ public class Window extends Panel implements URIHandler, ParameterHandler {
mainWindow.addURIHandler(handler);
} else {
if (uriHandlerList == null) {
- uriHandlerList = new LinkedList();
+ uriHandlerList = new LinkedList<URIHandler>();
}
synchronized (uriHandlerList) {
if (!uriHandlerList.contains(handler)) {
@@ -368,7 +368,7 @@ public class Window extends Panel implements URIHandler, ParameterHandler {
mainWindow.addParameterHandler(handler);
} else {
if (parameterHandlerList == null) {
- parameterHandlerList = new LinkedList();
+ parameterHandlerList = new LinkedList<ParameterHandler>();
}
synchronized (parameterHandlerList) {
if (!parameterHandlerList.contains(handler)) {
@@ -517,8 +517,9 @@ public class Window extends Panel implements URIHandler, ParameterHandler {
// Open requested resource
synchronized (openList) {
if (!openList.isEmpty()) {
- for (final Iterator i = openList.iterator(); i.hasNext();) {
- ((OpenResource) i.next()).paintContent(target);
+ for (final Iterator<OpenResource> i = openList.iterator(); i
+ .hasNext();) {
+ (i.next()).paintContent(target);
}
openList.clear();
}
@@ -535,16 +536,17 @@ public class Window extends Panel implements URIHandler, ParameterHandler {
target.addVariable(this, "close", false);
// Paint subwindows
- for (final Iterator i = subwindows.iterator(); i.hasNext();) {
- final Window w = (Window) i.next();
+ for (final Iterator<Window> i = subwindows.iterator(); i.hasNext();) {
+ final Window w = i.next();
w.paint(target);
}
// Paint notifications
if (notifications != null) {
target.startTag("notifications");
- for (final Iterator it = notifications.iterator(); it.hasNext();) {
- final Notification n = (Notification) it.next();
+ for (final Iterator<Notification> it = notifications.iterator(); it
+ .hasNext();) {
+ final Notification n = it.next();
target.startTag("notification");
if (n.getCaption() != null) {
target.addAttribute("caption", n.getCaption());
@@ -1184,7 +1186,7 @@ public class Window extends Panel implements URIHandler, ParameterHandler {
*
* @return Set of child windows.
*/
- public Set getChildWindows() {
+ public Set<Window> getChildWindows() {
return Collections.unmodifiableSet(subwindows);
}
@@ -1323,7 +1325,7 @@ public class Window extends Panel implements URIHandler, ParameterHandler {
private void addNotification(Notification notification) {
if (notifications == null) {
- notifications = new LinkedList();
+ notifications = new LinkedList<Notification>();
}
notifications.add(notification);
requestRepaint();
diff --git a/tests/test.xml b/tests/test.xml
index aa37a564ae..7ac2aca772 100644
--- a/tests/test.xml
+++ b/tests/test.xml
@@ -5,38 +5,39 @@
<!-- Configuration -->
<!-- ================================================================== -->
<property name="lib.dir" value="../build/lib/testbench" />
- <property name="class-dir" value="../build/classes" />
+ <!-- Temporary output directory, created and removed by this script -->
<property name="test-output-dir" value="../build/test-output" />
+ <property name="class-dir" value="${test-output-dir}/classes" />
+ <!-- Browsers to use for testing -->
<property name="test-browsers" value="firefox,ie" />
-
+
+ <!-- classpath must include test bench jar and its dependencies -->
<path id="classpath">
<fileset dir="${lib.dir}" includes="**/*.jar" />
- <pathelement path="${class-dir}" />
</path>
- <fileset dir="../tests" id="html-test-files">
- <include name="**/*test**.html" />
+ <!-- fileset containing all tests to run -->
+ <fileset dir="../src/com/vaadin/tests" id="html-test-files">
+ <include name="**/**.html" />
</fileset>
- <!-- ================================================================== -->
- <!-- Building Tests -->
- <!-- ================================================================== -->
-
+ <!-- This target converts HTML tests files to java junit tests. One test file for each browser is created. -->
<target name="create-tests">
<fileset id="tests">
<include />
</fileset>
<pathconvert pathsep=" " property="testfiles" refid="html-test-files" />
- <java classname="com.vaadin.testingtools.util.TestConverter" classpathref="classpath">
+ <java classname="com.vaadin.testbench.util.TestConverter" classpathref="classpath">
<arg value="${test-output-dir}" />
<arg value="${test-browsers}" />
<arg line="${testfiles}" />
</java>
</target>
+ <!-- This target complies the generated java junit tests. -->
<target name="compile-tests" depends="create-tests">
- <mkdir dir="${class-dir}"/>
+ <mkdir dir="${class-dir}" />
<javac srcdir="${test-output-dir}" destdir="${class-dir}" debug="on">
<classpath>
<path refid="classpath" />
@@ -44,6 +45,7 @@
</javac>
</target>
+
<!-- ================================================================== -->
<!-- Toolkit Server Management -->
<!-- ================================================================== -->
@@ -62,6 +64,7 @@
<arg value="start"/>
<arg value="${package.name}"/>
<arg value="${package.filename}"/>
+ <arg value="${output-dir}"/>
<arg value="${testing.testarea}"/>
</exec>
@@ -76,26 +79,37 @@
<arg value="stop"/>
</exec>
</target>
-
+
<!-- ================================================================== -->
<!-- Running Tests -->
<!-- ================================================================== -->
-
+
<target name="check-parameters">
- <fail unless="com.vaadin.testingtools.tester.host" message="The 'com.vaadin.testingtools.tester.host' property must be defined."/>
- <fail unless="com.vaadin.testingtools.deployment.url" message="The 'com.vaadin.testingtools.deployment.url' property must be defined."/>
+ <fail unless="output-dir" message="The 'output-dir' (usually build/result/vaadin-xxx) should be given to test script."/>
+ <fail unless="com.vaadin.testbench.tester.host" message="The 'com.vaadin.testbench.tester.host' property must be defined."/>
+ <fail unless="com.vaadin.testbench.deployment.url" message="The 'com.vaadin.testbench.deployment.url' property must be defined."/>
</target>
-
+
<target name="run-tests" if="server.start.succeeded" depends="execute-tests">
</target>
-
- <target name="execute-tests" depends="compile-tests">
- <junit fork="yes">
+
+ <!-- This target runs the generated and compiled junit tests -->
+ <target name="execute-tests" depends="compile-tests,remove-error-screens">
+ <junit fork="yes" printsummary="withOutAndErr">
<classpath>
<path refid="classpath" />
+ <pathelement path="${class-dir}" />
</classpath>
- <jvmarg value="-Dcom.vaadin.testingtools.tester.host=${com.vaadin.testingtools.tester.host}" />
- <jvmarg value="-Dcom.vaadin.testingtools.deployment.url=${com.vaadin.testingtools.deployment.url}" />
+
+ <jvmarg value="-Dcom.vaadin.testbench.tester.host=${com.vaadin.testbench.tester.host}" />
+ <jvmarg value="-Dcom.vaadin.testbench.deployment.url=${com.vaadin.testbench.deployment.url}" />
+ <!-- Define where the reference screenshots and diff files are saved -->
+ <jvmarg value="-Dcom.vaadin.testbench.screenshot.directory=${com.vaadin.testbench.screenshot.directory}" />
+ <jvmarg value="-Djava.awt.headless=true" />
+
+ <!-- true/false system arguments -->
+ <jvmarg value="-Dcom.vaadin.testbench.screenshot.reference.error_if_missing=${com.vaadin.testbench.screenshot.reference.error_if_missing}" />
+ <jvmarg value="-Dcom.vaadin.testbench.screenshot.reference.debug=${com.vaadin.testbench.screenshot.reference.debug}" />
<batchtest>
<fileset dir="${test-output-dir}">
@@ -106,14 +120,24 @@
</target>
+ <!-- Remove temporary source and compiled java files -->
<target name="remove-temp-files">
- <!-- test java files -->
<delete>
<fileset dir="${test-output-dir}">
<include name="**/**.java" />
</fileset>
</delete>
</target>
+
+ <!-- Remove old error screenshots -->
+ <target name="remove-error-screens">
+ <mkdir dir="${com.vaadin.testbench.screenshot.directory}/errors" />
+ <delete>
+ <fileset dir="${com.vaadin.testbench.screenshot.directory}/errors">
+ <include name="**/**.*" />
+ </fileset>
+ </delete>
+ </target>
<!-- ================================================================== -->
<!-- Main Targets -->
@@ -126,5 +150,5 @@
<!-- Also starts the server. -->
<target name="test-package" depends="server-start, run-and-clean-up, server-stop">
</target>
-
+
</project>