aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtur Signell <artur.signell@itmill.com>2012-02-02 09:20:29 +0000
committerArtur Signell <artur.signell@itmill.com>2012-02-02 09:20:29 +0000
commit98737932a588f1b4a8f8115f2545da63ae7f4e4a (patch)
treed35a758200b6c75f12de9325c8c80f5fc5103746
parent7c200d4e869139ff72e848e973cd5ce5932908d8 (diff)
downloadvaadin-framework-98737932a588f1b4a8f8115f2545da63ae7f4e4a.tar.gz
vaadin-framework-98737932a588f1b4a8f8115f2545da63ae7f4e4a.zip
#8311 Converted CRLF -> LF in css/html/xml files
svn changeset:22852/svn branch:6.7
-rw-r--r--WebContent/VAADIN/themes/base/button/button.css350
-rw-r--r--WebContent/VAADIN/themes/base/notification/notification.css20
-rw-r--r--WebContent/VAADIN/themes/base/table/table.css6
-rw-r--r--WebContent/VAADIN/themes/runo/button/button.css342
-rw-r--r--WebContent/VAADIN/themes/runo/datefield/datefield.css230
-rw-r--r--WebContent/VAADIN/themes/runo/notification/notification.css6
-rw-r--r--WebContent/VAADIN/themes/runo/tabsheet/tabsheet.css8
-rw-r--r--WebContent/VAADIN/themes/tests-components/styles.css76
-rw-r--r--WebContent/VAADIN/themes/tests-tickets/layouts/Ticket1975.html2
-rw-r--r--WebContent/VAADIN/themes/tests-tickets/layouts/Ticket2022.html2
-rw-r--r--WebContent/WEB-INF/web.xml122
-rw-r--r--tests/integration_tests.xml995
12 files changed, 1079 insertions, 1080 deletions
diff --git a/WebContent/VAADIN/themes/base/button/button.css b/WebContent/VAADIN/themes/base/button/button.css
index 2212120915..48d30d4576 100644
--- a/WebContent/VAADIN/themes/base/button/button.css
+++ b/WebContent/VAADIN/themes/base/button/button.css
@@ -1,176 +1,176 @@
-/*
- * Default button (more customizable)
- * -------------------------------------- */
-.v-button {
- display: inline-block;
- zoom: 1;
- text-align: center;
- text-decoration: none;
- border: 2px outset #ddd;
- background: #eee;
- cursor: pointer;
- white-space: nowrap;
- margin: 0;
- padding: .2em 1em;
- color: inherit;
- font: inherit;
- line-height: normal;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ie-user-select: none;
- user-select: none;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- -ms-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-.v-button.v-disabled {
- cursor: default;
-}
-
-.v-ie6 .v-button {
- display: inline;
-}
-
-.v-ie7 .v-button {
- display: inline;
-}
-
-.v-button-wrap,
-.v-button-caption {
- vertical-align: middle;
- white-space: nowrap;
- font: inherit;
- color: inherit;
- line-height: normal;
- }
-
-.v-button .v-icon,
-.v-nativebutton .v-icon {
- vertical-align: middle;
- margin-right: 3px;
- border: none;
- }
-
-.v-button .v-errorindicator,
-.v-nativebutton .v-errorindicator {
- display: inline-block;
- zoom: 1;
- vertical-align: middle;
- float: none;
-}
-
-/* Link style (we really should deprecate this) */
-.v-button-link,
-.v-nativebutton-link {
- border: none;
- text-align: left;
- background: transparent;
- padding: 0;
- color: inherit;
- -khtml-user-select: text;
- -moz-user-select: text;
- -ie-user-select: text;
- user-select: text;
-}
-
-/* Inset Safari focus outline a bit */
-.v-sa .v-button-link:focus{
- outline-offset: -3px;
- }
-
-.v-button-link .v-button-caption,
-.v-nativebutton-link .v-nativebutton-caption {
- text-decoration: underline;
- color: inherit;
- text-align: left;
- }
-
-
-/*
- * NativeButton styles (html button element)
- * -------------------------------------- */
-.v-nativebutton {
- text-align: center;
- cursor: pointer;
- white-space: nowrap;
- margin: 0;
- color: inherit;
- font: inherit;
- line-height: normal;
- }
-.v-nativebutton .v-nativebutton-caption {
- vertical-align: middle;
- white-space: nowrap;
- font: inherit;
- color: inherit;
- }
-
-.v-nativebutton .v-icon {
- vertical-align: middle;
- margin-right: 3px;
- }
-
-.v-nativebutton .v-errorindicator {
- display: inline-block;
- zoom: 1;
- float: none;
-}
-/* Fixes streched buttons in IE6 and IE7*/
-.v-ie6 .v-nativebutton {
- width: 1px;
-}
-.v-ie .v-nativebutton {
- overflow: visible;
- padding-left: 1em;
- padding-right: 1em;
-}
-
-.v-ie .v-nativebutton-link {
- padding: 0;
-}
-
-/*
- * Checkbox styles
- * -------------------------------------- */
-
- .v-checkbox {
- display: block;
- }
-
-.v-checkbox,
-.v-checkbox label,
-.v-checkbox input,
-.v-checkbox .v-icon {
- vertical-align: middle;
- white-space: nowrap;
-}
-
-/* Fix for IE6/IE7 issue where checkbox moves 1 pixel down after selection (#4636) */
-.v-ie6 .v-checkbox,
-.v-ie7 .v-checkbox {
- vertical-align: baseline;
-}
-
-.v-checkbox .v-icon {
- margin: 0 2px;
-}
-.v-checkbox .v-errorindicator {
- float: none;
- display: inline;
- display: inline-block;
- zoom: 1;
-}
-
-
-/* Disabled by default
-.v-checkbox-error {
- background: #ffe0e0;
-}
-*/
-/* Disabled by default
-.v-checkbox-required {
- background: #ffe0e0;
-}
+/*
+ * Default button (more customizable)
+ * -------------------------------------- */
+.v-button {
+ display: inline-block;
+ zoom: 1;
+ text-align: center;
+ text-decoration: none;
+ border: 2px outset #ddd;
+ background: #eee;
+ cursor: pointer;
+ white-space: nowrap;
+ margin: 0;
+ padding: .2em 1em;
+ color: inherit;
+ font: inherit;
+ line-height: normal;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ie-user-select: none;
+ user-select: none;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+
+.v-button.v-disabled {
+ cursor: default;
+}
+
+.v-ie6 .v-button {
+ display: inline;
+}
+
+.v-ie7 .v-button {
+ display: inline;
+}
+
+.v-button-wrap,
+.v-button-caption {
+ vertical-align: middle;
+ white-space: nowrap;
+ font: inherit;
+ color: inherit;
+ line-height: normal;
+ }
+
+.v-button .v-icon,
+.v-nativebutton .v-icon {
+ vertical-align: middle;
+ margin-right: 3px;
+ border: none;
+ }
+
+.v-button .v-errorindicator,
+.v-nativebutton .v-errorindicator {
+ display: inline-block;
+ zoom: 1;
+ vertical-align: middle;
+ float: none;
+}
+
+/* Link style (we really should deprecate this) */
+.v-button-link,
+.v-nativebutton-link {
+ border: none;
+ text-align: left;
+ background: transparent;
+ padding: 0;
+ color: inherit;
+ -khtml-user-select: text;
+ -moz-user-select: text;
+ -ie-user-select: text;
+ user-select: text;
+}
+
+/* Inset Safari focus outline a bit */
+.v-sa .v-button-link:focus{
+ outline-offset: -3px;
+ }
+
+.v-button-link .v-button-caption,
+.v-nativebutton-link .v-nativebutton-caption {
+ text-decoration: underline;
+ color: inherit;
+ text-align: left;
+ }
+
+
+/*
+ * NativeButton styles (html button element)
+ * -------------------------------------- */
+.v-nativebutton {
+ text-align: center;
+ cursor: pointer;
+ white-space: nowrap;
+ margin: 0;
+ color: inherit;
+ font: inherit;
+ line-height: normal;
+ }
+.v-nativebutton .v-nativebutton-caption {
+ vertical-align: middle;
+ white-space: nowrap;
+ font: inherit;
+ color: inherit;
+ }
+
+.v-nativebutton .v-icon {
+ vertical-align: middle;
+ margin-right: 3px;
+ }
+
+.v-nativebutton .v-errorindicator {
+ display: inline-block;
+ zoom: 1;
+ float: none;
+}
+/* Fixes streched buttons in IE6 and IE7*/
+.v-ie6 .v-nativebutton {
+ width: 1px;
+}
+.v-ie .v-nativebutton {
+ overflow: visible;
+ padding-left: 1em;
+ padding-right: 1em;
+}
+
+.v-ie .v-nativebutton-link {
+ padding: 0;
+}
+
+/*
+ * Checkbox styles
+ * -------------------------------------- */
+
+ .v-checkbox {
+ display: block;
+ }
+
+.v-checkbox,
+.v-checkbox label,
+.v-checkbox input,
+.v-checkbox .v-icon {
+ vertical-align: middle;
+ white-space: nowrap;
+}
+
+/* Fix for IE6/IE7 issue where checkbox moves 1 pixel down after selection (#4636) */
+.v-ie6 .v-checkbox,
+.v-ie7 .v-checkbox {
+ vertical-align: baseline;
+}
+
+.v-checkbox .v-icon {
+ margin: 0 2px;
+}
+.v-checkbox .v-errorindicator {
+ float: none;
+ display: inline;
+ display: inline-block;
+ zoom: 1;
+}
+
+
+/* Disabled by default
+.v-checkbox-error {
+ background: #ffe0e0;
+}
+*/
+/* Disabled by default
+.v-checkbox-required {
+ background: #ffe0e0;
+}
*/ \ No newline at end of file
diff --git a/WebContent/VAADIN/themes/base/notification/notification.css b/WebContent/VAADIN/themes/base/notification/notification.css
index 9455c25a36..ccd5b8d218 100644
--- a/WebContent/VAADIN/themes/base/notification/notification.css
+++ b/WebContent/VAADIN/themes/base/notification/notification.css
@@ -27,13 +27,13 @@
}
.v-Notification-tray p {
display: block;
-}
-.v-Notification-system {
- background-color: red;
- opacity: .7;
- filter: alpha(opacity=70);
-}
-.v-Notification-system h1 {
- display: block;
- margin: 0;
-}
+}
+.v-Notification-system {
+ background-color: red;
+ opacity: .7;
+ filter: alpha(opacity=70);
+}
+.v-Notification-system h1 {
+ display: block;
+ margin: 0;
+}
diff --git a/WebContent/VAADIN/themes/base/table/table.css b/WebContent/VAADIN/themes/base/table/table.css
index d789e8b548..2c1e3d9593 100644
--- a/WebContent/VAADIN/themes/base/table/table.css
+++ b/WebContent/VAADIN/themes/base/table/table.css
@@ -245,11 +245,11 @@
margin-top: -1px;
margin-bottom: -1px;
}
-/* row in column selector */
+/* row in column selector */
.v-on {
-
+
}
-.v-off {
+.v-off {
color: #ddd;
}
/*************************************
diff --git a/WebContent/VAADIN/themes/runo/button/button.css b/WebContent/VAADIN/themes/runo/button/button.css
index c196841ad3..75557d8a39 100644
--- a/WebContent/VAADIN/themes/runo/button/button.css
+++ b/WebContent/VAADIN/themes/runo/button/button.css
@@ -1,172 +1,172 @@
-.v-button {
- padding: 1px;
- border: none;
- background: transparent;
- }
-
-.v-button:focus {
- outline: none;
- }
-
-.v-button:focus .v-button-wrap {
- border-color: #57a7ed;
- border-top-color: #60aef1;
- border-bottom-color: #4c9adf;
- -webkit-box-shadow: 0 0 2px #57a7ed;
- -moz-box-shadow: 0 0 2px #57a7ed;
- }
-
-.v-button:active .v-button-wrap,
-.v-button.v-pressed .v-button-wrap {
- background-position: 0 -79px;
- background-color: #e7e9e9;
- border-color: #b8bdbe;
- border-top-color: #9da1a2;
- border-bottom-color: #babfc0;
- border-color: rgba(146,151,152,.9);
- border-top-color: rgba(146,151,152,1);
- -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.4) inset;
- -moz-box-shadow: 0 1px 2px rgba(0,0,0,.4) inset;;
- text-shadow: none;
- }
-
-.v-button .v-button-wrap,
-.v-disabled.v-button .v-button-wrap {
- display: block;
- font-size: 12px;
- border: 1px solid #bdc1c2;
- border-top-color: #cbcfd0;
- border-bottom-color: #b6bbbb;
- border-color: rgba(146,151,152,.8);
- border-top-color: rgba(146,151,152,.6);
- background: #e6e8e8 url(img/bg.png) repeat-x;
- -webkit-background-origin: padding;
- -moz-background-origin: padding;
- padding: 3px 15px;
- -webkit-border-radius: 11px;
- -moz-border-radius: 11px;
- border-radius: 11px;
- line-height: 14px;
- min-height: 14px;
- -webkit-box-shadow: 0 1px 0 rgba(0,0,0,.15);
- -moz-box-shadow: 0 1px 0 rgba(0,0,0,.15);
- text-shadow: 0 1px 0 #fff;
- color: #464f52;
- overflow: hidden;
- text-overflow: ellipsis;
- }
-
-.v-ie7 .v-button .v-button-wrap {
- overflow: visible;
-}
-
-
-
-/* Small style */
-.v-button-small .v-button-wrap,
-.v-disabled.v-button-small .v-button-wrap {
- font-size: 11px;
- line-height: 13px;
- padding: 1px 12px;
- min-height: 13px;
- }
-
-
-/* Big style */
-.v-button-big .v-button-wrap,
-.v-disabled.v-button-big .v-button-wrap {
- font-size: 15px;
- line-height: 18px;
- padding: 4px 18px;
- min-height: 18px;
- -webkit-border-radius: 14px;
- -moz-border-radius: 14px;
- border-radius: 14px;
- }
-
-
-
-/* Default style */
-.v-button-default:focus .v-button-wrap {
- background-color: #60839a;
- background-position: 0 -158px;
- text-shadow: 0 -1px 0 #657883;
- }
-
-.v-button-default:active .v-button-wrap,
-.v-button-default.v-pressed .v-button-wrap {
- background-position: 0 -79px;
- background-color: #8f9898;
- border-color: #737e81;
- border-top-color: #576063;
- border-bottom-color: #747f82;
- color: #f0f2f2;
- text-shadow: 0 -1px 0 #5d6969;
- -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.4) inset;;
- -moz-box-shadow: 0 1px 2px rgba(0,0,0,.4) inset;;
- }
-
-.v-button-default .v-button-wrap,
-.v-disabled.v-button-default .v-button-wrap {
- border-color: #899395;
- border-top-color: #a4abae;
- border-bottom-color: #727b7d;
- background: #869090 url(img/bg-default.png) repeat-x;
- text-shadow: 0 -1px 0 #797e7e;
- color: #fff;
- font-weight: bold;
- -webkit-box-shadow: 0 1px 0 rgba(0,0,0,.22);
- -moz-box-shadow: 0 1px 0 rgba(0,0,0,.22);
- }
-
-
-
-
-/* Link style */
-.v-button-link,
-.v-disabled.v-button-link {
- padding: 0;
- }
-
-.v-button-link .v-button-wrap,
-.v-disabled.v-button-link .v-button-wrap,
-.v-button-link:active .v-button-wrap,
-.v-disabled.v-button-pressedv-button-link .v-button-wrap {
- border: none;
- background: transparent;
- padding: 0;
- font-size: 13px;
- -webkit-box-shadow: none;
- -mox-box-shadow: none;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
- text-shadow: none;
- }
-
-.v-button-link:focus {
- outline: 1px dotted #4897dc;
- }
-
-.v-button-link:focus .v-button-wrap {
- -webkit-box-shadow: none;
- -moz-box-shadow: none;
- }
-
-
-
-
-/* Checkbox styles */
-.v-checkbox .v-errorindicator {
- padding-left: 10px;
- }
-.v-ie6 .v-checkbox .v-errorindicator {
- padding-right: 4px;
- }
-.v-ie7 .v-checkbox .v-errorindicator {
- padding-right: 7px;
- }
-.v-ie6 .v-button .v-errorindicator,
-.v-ie7 .v-button .v-errorindicator {
- padding-right: 5px;
+.v-button {
+ padding: 1px;
+ border: none;
+ background: transparent;
+ }
+
+.v-button:focus {
+ outline: none;
+ }
+
+.v-button:focus .v-button-wrap {
+ border-color: #57a7ed;
+ border-top-color: #60aef1;
+ border-bottom-color: #4c9adf;
+ -webkit-box-shadow: 0 0 2px #57a7ed;
+ -moz-box-shadow: 0 0 2px #57a7ed;
+ }
+
+.v-button:active .v-button-wrap,
+.v-button.v-pressed .v-button-wrap {
+ background-position: 0 -79px;
+ background-color: #e7e9e9;
+ border-color: #b8bdbe;
+ border-top-color: #9da1a2;
+ border-bottom-color: #babfc0;
+ border-color: rgba(146,151,152,.9);
+ border-top-color: rgba(146,151,152,1);
+ -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.4) inset;
+ -moz-box-shadow: 0 1px 2px rgba(0,0,0,.4) inset;;
+ text-shadow: none;
+ }
+
+.v-button .v-button-wrap,
+.v-disabled.v-button .v-button-wrap {
+ display: block;
+ font-size: 12px;
+ border: 1px solid #bdc1c2;
+ border-top-color: #cbcfd0;
+ border-bottom-color: #b6bbbb;
+ border-color: rgba(146,151,152,.8);
+ border-top-color: rgba(146,151,152,.6);
+ background: #e6e8e8 url(img/bg.png) repeat-x;
+ -webkit-background-origin: padding;
+ -moz-background-origin: padding;
+ padding: 3px 15px;
+ -webkit-border-radius: 11px;
+ -moz-border-radius: 11px;
+ border-radius: 11px;
+ line-height: 14px;
+ min-height: 14px;
+ -webkit-box-shadow: 0 1px 0 rgba(0,0,0,.15);
+ -moz-box-shadow: 0 1px 0 rgba(0,0,0,.15);
+ text-shadow: 0 1px 0 #fff;
+ color: #464f52;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+
+.v-ie7 .v-button .v-button-wrap {
+ overflow: visible;
+}
+
+
+
+/* Small style */
+.v-button-small .v-button-wrap,
+.v-disabled.v-button-small .v-button-wrap {
+ font-size: 11px;
+ line-height: 13px;
+ padding: 1px 12px;
+ min-height: 13px;
+ }
+
+
+/* Big style */
+.v-button-big .v-button-wrap,
+.v-disabled.v-button-big .v-button-wrap {
+ font-size: 15px;
+ line-height: 18px;
+ padding: 4px 18px;
+ min-height: 18px;
+ -webkit-border-radius: 14px;
+ -moz-border-radius: 14px;
+ border-radius: 14px;
+ }
+
+
+
+/* Default style */
+.v-button-default:focus .v-button-wrap {
+ background-color: #60839a;
+ background-position: 0 -158px;
+ text-shadow: 0 -1px 0 #657883;
+ }
+
+.v-button-default:active .v-button-wrap,
+.v-button-default.v-pressed .v-button-wrap {
+ background-position: 0 -79px;
+ background-color: #8f9898;
+ border-color: #737e81;
+ border-top-color: #576063;
+ border-bottom-color: #747f82;
+ color: #f0f2f2;
+ text-shadow: 0 -1px 0 #5d6969;
+ -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.4) inset;;
+ -moz-box-shadow: 0 1px 2px rgba(0,0,0,.4) inset;;
+ }
+
+.v-button-default .v-button-wrap,
+.v-disabled.v-button-default .v-button-wrap {
+ border-color: #899395;
+ border-top-color: #a4abae;
+ border-bottom-color: #727b7d;
+ background: #869090 url(img/bg-default.png) repeat-x;
+ text-shadow: 0 -1px 0 #797e7e;
+ color: #fff;
+ font-weight: bold;
+ -webkit-box-shadow: 0 1px 0 rgba(0,0,0,.22);
+ -moz-box-shadow: 0 1px 0 rgba(0,0,0,.22);
+ }
+
+
+
+
+/* Link style */
+.v-button-link,
+.v-disabled.v-button-link {
+ padding: 0;
+ }
+
+.v-button-link .v-button-wrap,
+.v-disabled.v-button-link .v-button-wrap,
+.v-button-link:active .v-button-wrap,
+.v-disabled.v-button-pressedv-button-link .v-button-wrap {
+ border: none;
+ background: transparent;
+ padding: 0;
+ font-size: 13px;
+ -webkit-box-shadow: none;
+ -mox-box-shadow: none;
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+ text-shadow: none;
+ }
+
+.v-button-link:focus {
+ outline: 1px dotted #4897dc;
+ }
+
+.v-button-link:focus .v-button-wrap {
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ }
+
+
+
+
+/* Checkbox styles */
+.v-checkbox .v-errorindicator {
+ padding-left: 10px;
+ }
+.v-ie6 .v-checkbox .v-errorindicator {
+ padding-right: 4px;
+ }
+.v-ie7 .v-checkbox .v-errorindicator {
+ padding-right: 7px;
+ }
+.v-ie6 .v-button .v-errorindicator,
+.v-ie7 .v-button .v-errorindicator {
+ padding-right: 5px;
} \ No newline at end of file
diff --git a/WebContent/VAADIN/themes/runo/datefield/datefield.css b/WebContent/VAADIN/themes/runo/datefield/datefield.css
index 0b65fd9054..b9a4efc50e 100644
--- a/WebContent/VAADIN/themes/runo/datefield/datefield.css
+++ b/WebContent/VAADIN/themes/runo/datefield/datefield.css
@@ -3,138 +3,138 @@
height: 18px;
}
.v-datefield-button {
- font-size:13px;
- width: 22px;
- height: 24px;
- padding: 0;
- overflow: hidden;
- border: none;
+ font-size:13px;
+ width: 22px;
+ height: 24px;
+ padding: 0;
+ overflow: hidden;
+ border: none;
background: transparent url(img/open-button.png) no-repeat right 0;
- vertical-align: top;
-}
-.v-datefield-popup {
- font-family: "Trebuchet MS", geneva, helvetica, arial, tahoma, verdana, sans-serif;
- color: #464f52;
- font-size: 12px;
- background: #f6f7f7;
- border: 1px solid #b6bbbc;
+ vertical-align: top;
+}
+.v-datefield-popup {
+ font-family: "Trebuchet MS", geneva, helvetica, arial, tahoma, verdana, sans-serif;
+ color: #464f52;
+ font-size: 12px;
+ background: #f6f7f7;
+ border: 1px solid #b6bbbc;
padding: 2px 6px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
- border-radius: 4px;
-}
-.v-datefield-calendarpanel {
- width: 230px;
-}
-.v-datefield-popup .v-datefield-calendarpanel {
- width: 200px;
+ border-radius: 4px;
+}
+.v-datefield-calendarpanel {
+ width: 230px;
+}
+.v-datefield-popup .v-datefield-calendarpanel {
+ width: 200px;
}
.v-datefield-year .v-datefield-calendarpanel {
width: 100px;
-}
-.v-datefield-calendarpanel td {
- text-align: right;
-}
-.v-datefield-calendarpanel td span {
- display: block;
-}
-.v-datefield-calendarpanel-header {
+}
+.v-datefield-calendarpanel td {
+ text-align: right;
+}
+.v-datefield-calendarpanel td span {
+ display: block;
+}
+.v-datefield-calendarpanel-header {
height: 30px;
- font-size: 13px;
-}
-td.v-datefield-calendarpanel-month {
- font-weight: bold;
+ font-size: 13px;
+}
+td.v-datefield-calendarpanel-month {
+ font-weight: bold;
text-shadow: 0 1px 0 #fff;
- width: 150px;
+ width: 150px;
}
.v-datefield-calendarpanel-prevyear,
.v-datefield-calendarpanel-nextyear,
.v-datefield-calendarpanel-prevmonth,
.v-datefield-calendarpanel-nextmonth {
width: 16px;
-}
-/* Year buttons */
-.v-datefield-calendarpanel .v-button-prevyear,
-.v-datefield-calendarpanel .v-button-nextyear {
- display: block;
- width: 16px;
- height: 16px;
- border: none;
- padding: 0;
- background: transparent url(img/prevyear.png) no-repeat;
- text-indent: -90000px;
- margin: 0 auto;
-}
-.v-datefield-calendarpanel .v-button-nextyear {
- background: transparent url(img/nextyear.png) no-repeat;
-}
-.v-datefield-calendarpanel .v-button-prevyear:hover,
-.v-datefield-calendarpanel .v-button-nextyear:hover {
- background-position: left bottom;
-}
-/* Month buttons */
-.v-datefield-calendarpanel .v-button-prevmonth,
-.v-datefield-calendarpanel .v-button-nextmonth {
- display: block;
- width: 11px;
- height: 16px;
- border: none;
- padding: 0;
- background: transparent url(img/prevmonth.png) no-repeat;
- text-indent: -90000px;
- margin: 0 auto;
-}
-.v-datefield-calendarpanel .v-button-nextmonth {
- background: transparent url(img/nextmonth.png) no-repeat;
-}
-.v-datefield-calendarpanel .v-button-prevmonth:hover,
-.v-datefield-calendarpanel .v-button-nextmonth:hover {
- background-position: left bottom;
-}
-.v-datefield-calendarpanel strong {
- color: #ee5311;
- display: block;
+}
+/* Year buttons */
+.v-datefield-calendarpanel .v-button-prevyear,
+.v-datefield-calendarpanel .v-button-nextyear {
+ display: block;
+ width: 16px;
+ height: 16px;
+ border: none;
+ padding: 0;
+ background: transparent url(img/prevyear.png) no-repeat;
+ text-indent: -90000px;
+ margin: 0 auto;
+}
+.v-datefield-calendarpanel .v-button-nextyear {
+ background: transparent url(img/nextyear.png) no-repeat;
+}
+.v-datefield-calendarpanel .v-button-prevyear:hover,
+.v-datefield-calendarpanel .v-button-nextyear:hover {
+ background-position: left bottom;
+}
+/* Month buttons */
+.v-datefield-calendarpanel .v-button-prevmonth,
+.v-datefield-calendarpanel .v-button-nextmonth {
+ display: block;
+ width: 11px;
+ height: 16px;
+ border: none;
+ padding: 0;
+ background: transparent url(img/prevmonth.png) no-repeat;
+ text-indent: -90000px;
+ margin: 0 auto;
+}
+.v-datefield-calendarpanel .v-button-nextmonth {
+ background: transparent url(img/nextmonth.png) no-repeat;
+}
+.v-datefield-calendarpanel .v-button-prevmonth:hover,
+.v-datefield-calendarpanel .v-button-nextmonth:hover {
+ background-position: left bottom;
+}
+.v-datefield-calendarpanel strong {
+ color: #ee5311;
+ display: block;
width: 20px;
- font-size: 12px;
-}
-.v-datefield-calendarpanel-day,
+ font-size: 12px;
+}
+.v-datefield-calendarpanel-day,
.v-datefield-calendarpanel-weeknumber,
-.v-datefield-calendarpanel-day-today {
- padding: 1px 3px;
- width: 14px;
- height: 16px;
-}
-.v-datefield-calendarpanel-day-today {
- border: 1px solid #429ce9;
- width: 12px;
- height: 14px
-}
-.v-datefield-calendarpanel-day-entry {
- color: #6a98b5;
-}
-.v-datefield-calendarpanel-day-disabled {
- font-weight: normal;
- color: #dddddd;
-}
-.v-datefield-calendarpanel-day-entry.v-datefield-calendarpanel-day-disabled {
- color: #afd6f8;
-}
-.v-datefield-calendarpanel-day-selected {
- font-weight: bold;
- width: 14px;
- height: 16px;
- color: #fff;
- padding: 1px 3px;
- background: transparent url(img/selected-bg.png) no-repeat 50% 50%;
- border: none;
-}
-.v-datefield-time {
- font-size: 11px;
-}
-.v-datefield-time .v-select {
- font-size: 10px;
- padding: 0;
- margin: 0;
+.v-datefield-calendarpanel-day-today {
+ padding: 1px 3px;
+ width: 14px;
+ height: 16px;
+}
+.v-datefield-calendarpanel-day-today {
+ border: 1px solid #429ce9;
+ width: 12px;
+ height: 14px
+}
+.v-datefield-calendarpanel-day-entry {
+ color: #6a98b5;
+}
+.v-datefield-calendarpanel-day-disabled {
+ font-weight: normal;
+ color: #dddddd;
+}
+.v-datefield-calendarpanel-day-entry.v-datefield-calendarpanel-day-disabled {
+ color: #afd6f8;
+}
+.v-datefield-calendarpanel-day-selected {
+ font-weight: bold;
+ width: 14px;
+ height: 16px;
+ color: #fff;
+ padding: 1px 3px;
+ background: transparent url(img/selected-bg.png) no-repeat 50% 50%;
+ border: none;
+}
+.v-datefield-time {
+ font-size: 11px;
+}
+.v-datefield-time .v-select {
+ font-size: 10px;
+ padding: 0;
+ margin: 0;
}
.v-datefield-rendererror .v-textfield {
background: #ff9999;
diff --git a/WebContent/VAADIN/themes/runo/notification/notification.css b/WebContent/VAADIN/themes/runo/notification/notification.css
index bc9b3f665d..1d9f868a14 100644
--- a/WebContent/VAADIN/themes/runo/notification/notification.css
+++ b/WebContent/VAADIN/themes/runo/notification/notification.css
@@ -59,9 +59,9 @@
line-height: 1.2;
margin: 4px 10px 5px 10px;
color: #e4e7ea;
-}
-.v-Notification-system {
+}
+.v-Notification-system {
background-color: #ff0a0a;
font-size: .9em;
- padding: 14px 32px;
+ padding: 14px 32px;
} \ No newline at end of file
diff --git a/WebContent/VAADIN/themes/runo/tabsheet/tabsheet.css b/WebContent/VAADIN/themes/runo/tabsheet/tabsheet.css
index 9c224cb84f..64cd85b61d 100644
--- a/WebContent/VAADIN/themes/runo/tabsheet/tabsheet.css
+++ b/WebContent/VAADIN/themes/runo/tabsheet/tabsheet.css
@@ -103,10 +103,10 @@
background-color: #fff;
border-bottom: 1px solid #dee2e3;
border-top: none;
-}
-.v-tabsheet-hidetabs .v-tabsheet-content {
- border-top: 1px solid #b5babb;
-}
+}
+.v-tabsheet-hidetabs .v-tabsheet-content {
+ border-top: 1px solid #b5babb;
+}
.v-tabsheet-deco {
height: 10px;
background: transparent url(../panel/img/bottom-right.png) repeat-x right top;
diff --git a/WebContent/VAADIN/themes/tests-components/styles.css b/WebContent/VAADIN/themes/tests-components/styles.css
index da173964f4..c38f32f132 100644
--- a/WebContent/VAADIN/themes/tests-components/styles.css
+++ b/WebContent/VAADIN/themes/tests-components/styles.css
@@ -1,39 +1,39 @@
-@import url(../reindeer/styles.css);
-
-.missing {
- color: red;
- font-weight: bold;
-}
-
-.v-tree-node-caption-red {
- color: red;
-}
-
-.v-tree-node-caption-green {
- color: green;
-}
-
-.v-tree-node-caption-blue {
- color: blue;
-}
-
-.v-tree-node-caption-bold {
- font-weight: bold;
-}
-
-.background-lightblue {
- background: lightblue;
-}
-
-.border-red-1px {
- border: 1px solid red;
-}
-
-.border-blue-2px {
- border: 2px solid blue;
-}
-
-.v-table-row-tables-test-cell-style-red-row,
-.v-table-cell-content-tables-test-cell-style-red-row {
- background: #f00;
+@import url(../reindeer/styles.css);
+
+.missing {
+ color: red;
+ font-weight: bold;
+}
+
+.v-tree-node-caption-red {
+ color: red;
+}
+
+.v-tree-node-caption-green {
+ color: green;
+}
+
+.v-tree-node-caption-blue {
+ color: blue;
+}
+
+.v-tree-node-caption-bold {
+ font-weight: bold;
+}
+
+.background-lightblue {
+ background: lightblue;
+}
+
+.border-red-1px {
+ border: 1px solid red;
+}
+
+.border-blue-2px {
+ border: 2px solid blue;
+}
+
+.v-table-row-tables-test-cell-style-red-row,
+.v-table-cell-content-tables-test-cell-style-red-row {
+ background: #f00;
} \ No newline at end of file
diff --git a/WebContent/VAADIN/themes/tests-tickets/layouts/Ticket1975.html b/WebContent/VAADIN/themes/tests-tickets/layouts/Ticket1975.html
index 26b6548dd0..9c7a6942c9 100644
--- a/WebContent/VAADIN/themes/tests-tickets/layouts/Ticket1975.html
+++ b/WebContent/VAADIN/themes/tests-tickets/layouts/Ticket1975.html
@@ -1 +1 @@
-<b>Testing custom layout..</b>
+<b>Testing custom layout..</b>
diff --git a/WebContent/VAADIN/themes/tests-tickets/layouts/Ticket2022.html b/WebContent/VAADIN/themes/tests-tickets/layouts/Ticket2022.html
index 430548173d..6bde912879 100644
--- a/WebContent/VAADIN/themes/tests-tickets/layouts/Ticket2022.html
+++ b/WebContent/VAADIN/themes/tests-tickets/layouts/Ticket2022.html
@@ -1,2 +1,2 @@
<div>This is an utf-8 string: åäöéèáèë<br/>
-The same in ISO-8859-1: åäöéèáèë</div>
+The same in ISO-8859-1: åäöéèáèë</div>
diff --git a/WebContent/WEB-INF/web.xml b/WebContent/WEB-INF/web.xml
index b83979acc6..73d9951d21 100644
--- a/WebContent/WEB-INF/web.xml
+++ b/WebContent/WEB-INF/web.xml
@@ -1,61 +1,61 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE web-app
- PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd">
-
-<!-- THIS IS A DEVELOPMENT AND TESTING web.xml . -->
-
-<web-app>
- <display-name>Vaadin</display-name>
- <description>Vaadin examples</description>
-
- <context-param>
- <param-name>productionMode</param-name>
- <param-value>false</param-value>
- <description>Vaadin production mode</description>
- </context-param>
-
- <context-param>
- <param-name>resourceCacheTime</param-name>
- <param-value>3600</param-value>
- </context-param>
-
- <servlet>
- <servlet-name>VaadinApplicationRunner</servlet-name>
- <servlet-class>com.vaadin.terminal.gwt.server.ApplicationRunnerServlet</servlet-class>
- <init-param>
- <param-name>defaultPackages</param-name>
- <param-value>com.vaadin.tests,com.vaadin.tests.tickets,com.vaadin.tests.components,com.vaadin.tests.components.layouts,com.vaadin.tests.components.panel,com.vaadin.tests.components.combobox,com.vaadin.tests.components.popupview,com.vaadin.tests.components.datefield,com.vaadin.tests.components.richtextarea,com.vaadin.tests.components.absolutelayout,com.vaadin.tests.components.embedded,com.vaadin.tests.components.splitpanel,com.vaadin.tests.components.abstractfield,com.vaadin.tests.components.form,com.vaadin.tests.components.table,com.vaadin.tests.components.accordion,com.vaadin.tests.components.label,com.vaadin.tests.components.tabsheet,com.vaadin.tests.components.beanitemcontainer,com.vaadin.tests.components.link,com.vaadin.tests.components.textfield,com.vaadin.tests.components.button,com.vaadin.tests.components.optiongroup,com.vaadin.tests.components.tree,com.vaadin.tests.components.caption,com.vaadin.tests.components.orderedlayout,com.vaadin.tests.components.window,com.vaadin.tests.dd,com.vaadin.tests.validation</param-value>
- </init-param>
- </servlet>
-
- <!-- For testing GAE - the deployment script changes this to use GAEApplicationServlet -->
- <servlet>
- <servlet-name>IntegrationTest</servlet-name>
- <servlet-class>com.vaadin.terminal.gwt.server.ApplicationServlet</servlet-class>
- <init-param>
- <param-name>application</param-name>
- <param-value>com.vaadin.tests.integration.IntegrationTestApplication</param-value>
- </init-param>
- </servlet>
-
- <servlet-mapping>
- <servlet-name>VaadinApplicationRunner</servlet-name>
- <url-pattern>/run/*</url-pattern>
- </servlet-mapping>
-
- <servlet-mapping>
- <servlet-name>IntegrationTest</servlet-name>
- <url-pattern>/integration/*</url-pattern>
- </servlet-mapping>
-
- <servlet-mapping>
- <servlet-name>IntegrationTest</servlet-name>
- <url-pattern>/VAADIN/*</url-pattern>
- </servlet-mapping>
-
- <welcome-file-list>
- <welcome-file>index.html</welcome-file>
- </welcome-file-list>
-
-</web-app>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE web-app
+ PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+<!-- THIS IS A DEVELOPMENT AND TESTING web.xml . -->
+
+<web-app>
+ <display-name>Vaadin</display-name>
+ <description>Vaadin examples</description>
+
+ <context-param>
+ <param-name>productionMode</param-name>
+ <param-value>false</param-value>
+ <description>Vaadin production mode</description>
+ </context-param>
+
+ <context-param>
+ <param-name>resourceCacheTime</param-name>
+ <param-value>3600</param-value>
+ </context-param>
+
+ <servlet>
+ <servlet-name>VaadinApplicationRunner</servlet-name>
+ <servlet-class>com.vaadin.terminal.gwt.server.ApplicationRunnerServlet</servlet-class>
+ <init-param>
+ <param-name>defaultPackages</param-name>
+ <param-value>com.vaadin.tests,com.vaadin.tests.tickets,com.vaadin.tests.components,com.vaadin.tests.components.layouts,com.vaadin.tests.components.panel,com.vaadin.tests.components.combobox,com.vaadin.tests.components.popupview,com.vaadin.tests.components.datefield,com.vaadin.tests.components.richtextarea,com.vaadin.tests.components.absolutelayout,com.vaadin.tests.components.embedded,com.vaadin.tests.components.splitpanel,com.vaadin.tests.components.abstractfield,com.vaadin.tests.components.form,com.vaadin.tests.components.table,com.vaadin.tests.components.accordion,com.vaadin.tests.components.label,com.vaadin.tests.components.tabsheet,com.vaadin.tests.components.beanitemcontainer,com.vaadin.tests.components.link,com.vaadin.tests.components.textfield,com.vaadin.tests.components.button,com.vaadin.tests.components.optiongroup,com.vaadin.tests.components.tree,com.vaadin.tests.components.caption,com.vaadin.tests.components.orderedlayout,com.vaadin.tests.components.window,com.vaadin.tests.dd,com.vaadin.tests.validation</param-value>
+ </init-param>
+ </servlet>
+
+ <!-- For testing GAE - the deployment script changes this to use GAEApplicationServlet -->
+ <servlet>
+ <servlet-name>IntegrationTest</servlet-name>
+ <servlet-class>com.vaadin.terminal.gwt.server.ApplicationServlet</servlet-class>
+ <init-param>
+ <param-name>application</param-name>
+ <param-value>com.vaadin.tests.integration.IntegrationTestApplication</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>VaadinApplicationRunner</servlet-name>
+ <url-pattern>/run/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>IntegrationTest</servlet-name>
+ <url-pattern>/integration/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>IntegrationTest</servlet-name>
+ <url-pattern>/VAADIN/*</url-pattern>
+ </servlet-mapping>
+
+ <welcome-file-list>
+ <welcome-file>index.html</welcome-file>
+ </welcome-file-list>
+
+</web-app>
diff --git a/tests/integration_tests.xml b/tests/integration_tests.xml
index 946dbc53fd..be928aacf4 100644
--- a/tests/integration_tests.xml
+++ b/tests/integration_tests.xml
@@ -1,499 +1,498 @@
-<?xml version="1.0"?>
-
-<project name="Vaadin Integration Tests" basedir="." default="integration-test-all">
-
- <!-- Target deploying demo.war -->
- <fail unless="test.integration.server" message="test.integration.server must be set for integration tests to run" />
-
- <fail unless="test.integration.user" message="test.integration.user must be set for integration tests to run" />
- <fail unless="test.integration.antfile" message="test.integration.antfile must be set for integration tests to run" />
-
- <!-- Test with these browsers -->
- <property name="test_browsers" value="winxp-firefox9" />
-
- <!-- Path to key file. Default value -->
- <property name="sshkey.file" value="id_dsa" />
-
- <!-- path and name for demo.war to be deployed -->
- <property name="demo.war" value="demo.war" />
-
- <!-- Host running Testbench RC or Testbench Hub. Default value -->
- <property name="com.vaadin.testbench.tester.host" value="127.0.0.1" />
-
- <!-- Base url where the testable application is deployed -->
- <property name="deployment.url" value="http://${test.integration.server}:8080" />
-
- <!-- ssh host values -->
- <property name="ant.hub" value="${test.integration.antfile}" />
- <property name="user" value="${test.integration.user}" />
- <property name="passphrase" value="" />
-
- <!-- add ant contrib -->
- <taskdef resource="net/sf/antcontrib/antcontrib.properties">
- <classpath>
- <pathelement location="../build/lib/ant-contrib-1.0b3.jar" />
- </classpath>
- </taskdef>
-
- <!-- Upload war to deploy to ssh host -->
- <target name="integration-test-upload-demo">
- <scp file="${demo.war}" todir="${user}@${test.integration.server}:integration-tests/servers/demo.war" keyfile="${sshkey.file}" passphrase="${passphrase}" />
- </target>
-
- <!-- Run basic integration test test -->
- <target name="integration-test-servlet">
- <fileset dir="integration-testscripts" id="html-test-files" includes="integration-test-${server-name}-servlet.html" />
- <pathconvert pathsep=" " property="testfiles" refid="html-test-files" />
- <subant target="run-tests" failonerror="false" antfile="test.xml">
- <property name="com.vaadin.testbench.lib.dir" value="${com.vaadin.testbench.lib.dir}" />
- <property name="com.vaadin.testbench.tester.host" value="${com.vaadin.testbench.tester.host}" />
- <property name="com.vaadin.testbench.deployment.url" value="${deployment.url}" />
- <property name="server.start.succeeded" value="1" />
- <property name="browsers" value="${test_browsers}" />
- <property name="testfiles" value="${testfiles}" />
- <property name="test-output-dir" value="../build/integration-test-output/${server-name}" />
- <property name="retries" value="0" />
-
- <fileset dir="." includes="test.xml" />
- </subant>
- </target>
-
- <target name="integration-test-theme">
- <subant target="run-tests" failonerror="false" antfile="test.xml">
- <property name="com.vaadin.testbench.lib.dir" value="${com.vaadin.testbench.lib.dir}" />
- <property name="com.vaadin.testbench.tester.host" value="${com.vaadin.testbench.tester.host}" />
- <property name="com.vaadin.testbench.deployment.url" value="${deployment.url}" />
- <property name="server.start.succeeded" value="1" />
- <property name="testfiles" value="${testfiles-theme}" />
- <property name="test-output-dir" value="../build/integration-test-output/${server-name}" />
-
- <fileset dir="." includes="test.xml" />
- </subant>
- </target>
-
- <!-- Run integration test on GAE -->
- <target name="integration-test-test-GAE">
- <fileset dir="integration-testscripts" id="html-test-files" includes="GoogleAppEngine/integration-test-GAE.html" />
- <pathconvert pathsep=" " property="test-GAE" refid="html-test-files" />
-
- <subant target="run-tests" failonerror="false" antfile="test.xml">
- <property name="com.vaadin.testbench.lib.dir" value="${com.vaadin.testbench.lib.dir}" />
- <property name="com.vaadin.testbench.tester.host" value="${com.vaadin.testbench.tester.host}" />
- <property name="com.vaadin.testbench.deployment.url" value="http://vaadin-integration-test.appspot.com/" />
- <property name="server.start.succeeded" value="1" />
- <property name="browsers" value="${test_browsers}" />
- <property name="testfiles" value="${test-GAE}" />
- <property name="test-output-dir" value="../build/integration-test-gae-output" />
-
- <fileset dir="." includes="test.xml" />
- </subant>
- </target>
-
- <target name="integration-test-deploy-to-GAE">
- <sshexec host="${test.integration.server}" username="${user}" keyfile="${sshkey.file}" command="ant -f ${ant.hub} deploy-to-GAE" />
- </target>
-
-
- <target name="integration-test-tomcat7">
- <antcall target="run-generic-integration-test">
- <param name="startDelay" value="10" />
- <param name="target-server" value="tomcat7" />
- </antcall>
- </target>
-
- <target name="integration-test-tomcat4">
- <antcall target="run-generic-integration-test">
- <param name="startDelay" value="10" />
- <param name="target-server" value="tomcat4" />
- </antcall>
- </target>
-
- <target name="integration-test-tomcat5">
- <antcall target="run-generic-integration-test">
- <param name="startDelay" value="10" />
- <param name="target-server" value="tomcat5" />
- </antcall>
- </target>
-
- <target name="integration-test-tomcat6">
- <antcall target="run-generic-integration-test">
- <param name="startDelay" value="10" />
- <param name="target-server" value="tomcat6" />
- </antcall>
- </target>
-
- <target name="integration-test-jetty5">
- <antcall target="run-generic-integration-test">
- <param name="target-server" value="jetty5" />
- </antcall>
- </target>
-
- <target name="integration-test-jetty6">
- <antcall target="run-generic-integration-test">
- <param name="target-server" value="jetty6" />
- </antcall>
- </target>
-
- <target name="integration-test-jetty7">
- <antcall target="run-generic-integration-test">
- <param name="target-server" value="jetty7" />
- </antcall>
- </target>
-
- <target name="integration-test-jetty8">
- <antcall target="run-generic-integration-test">
- <param name="startDelay" value="300" />
- <param name="target-server" value="jetty8" />
- </antcall>
- </target>
-
- <target name="integration-test-jboss3">
- <antcall target="run-generic-integration-test">
- <param name="startDelay" value="10" />
- <param name="target-server" value="jboss3" />
- </antcall>
- </target>
-
- <target name="integration-test-jboss4">
- <antcall target="run-generic-integration-test">
- <param name="startDelay" value="10" />
- <param name="target-server" value="jboss4" />
- </antcall>
- </target>
-
- <target name="integration-test-jboss5">
- <antcall target="run-generic-integration-test">
- <param name="startDelay" value="10" />
- <param name="target-server" value="jboss5" />
- </antcall>
- </target>
-
- <target name="integration-test-jboss6">
- <antcall target="run-generic-integration-test">
- <param name="startDelay" value="10" />
- <param name="target-server" value="jboss6" />
- </antcall>
- </target>
-
- <target name="integration-test-jboss7">
- <antcall target="run-generic-integration-test">
- <param name="startDelay" value="10" />
- <param name="target-server" value="jboss7" />
- </antcall>
- </target>
-
- <target name="integration-test-glassfish2">
- <antcall target="run-generic-integration-test">
- <param name="startDelay" value="10" />
- <param name="target-server" value="glassfish2" />
- </antcall>
- </target>
-
- <target name="integration-test-glassfish3">
- <antcall target="run-generic-integration-test">
- <param name="startDelay" value="10" />
- <param name="target-server" value="glassfish3" />
- </antcall>
- </target>
-
-
- <target name="integration-test-liferay6">
- <fileset dir="integration-testscripts" id="html-test-files" includes="Liferay-6/integration-test-liferay-6.0.5.html" />
- <pathconvert pathsep=" " property="testfiles" refid="html-test-files" />
-
- <fileset dir="integration-testscripts" id="html-theme-files" includes="Liferay-6/Liferay6-theme.html" />
- <pathconvert pathsep=" " property="testfiles-theme" refid="html-theme-files" />
-
-
- <antcall target="run-generic-integration-test">
- <param name="startDelay" value="600" />
- <param name="target-server" value="liferay6" />
- </antcall>
- </target>
-
- <target name="integration-test-liferay5">
- <fileset dir="integration-testscripts" id="html-test-files" includes="Liferay-5/integration-test-liferay-5.2.3-portlet2.html" />
- <pathconvert pathsep=" " property="testfiles" refid="html-test-files" />
-
- <antcall target="run-generic-integration-test">
- <param name="startDelay" value="600" />
- <param name="target-server" value="liferay5" />
- </antcall>
- </target>
-
- <target name="integration-test-liferay6ee">
- <fileset dir="integration-testscripts" id="html-test-files" includes="Liferay-6EE/integration-test-liferay-6ee.html" />
- <pathconvert pathsep=" " property="testfiles" refid="html-test-files" />
-
- <fileset dir="integration-testscripts" id="html-theme-files" includes="Liferay-6EE/Liferay6EE-theme.html" />
- <pathconvert pathsep=" " property="testfiles-theme" refid="html-theme-files" />
-
- <antcall target="run-generic-integration-test">
- <param name="startDelay" value="600" />
- <param name="target-server" value="liferay6ee" />
- </antcall>
- </target>
-
- <target name="integration-test-gatein3">
- <fileset dir="integration-testscripts" id="html-test-files" includes="GateIn-3/integration-test-GateIn-3.1.0-portlet2.html" />
- <pathconvert pathsep=" " property="testfiles" refid="html-test-files" />
- <antcall target="run-generic-integration-test">
- <param name="startDelay" value="600" />
- <param name="test_browsers" value="winxp-firefox36" />
- <param name="target-server" value="gatein3" />
- </antcall>
- </target>
-
- <target name="integration-test-exo3">
- <fileset dir="integration-testscripts" id="html-test-files" includes="eXo-3/integration-test-eXo-3.0.3-portlet2.html" />
- <pathconvert pathsep=" " property="testfiles" refid="html-test-files" />
- <antcall target="run-generic-integration-test">
- <param name="startDelay" value="600" />
- <param name="test_browsers" value="winxp-firefox36" />
- <param name="target-server" value="exo3" />
- </antcall>
- </target>
-
- <target name="integration-test-weblogic9">
- <antcall target="run-generic-integration-test">
- <param name="startDelay" value="600" />
- <param name="target-port" value="7001" />
- <param name="target-server" value="weblogic9" />
- </antcall>
- </target>
-
- <target name="integration-test-weblogic10">
- <antcall target="run-generic-integration-test">
- <param name="startDelay" value="600" />
- <param name="target-port" value="7001" />
- <param name="target-server" value="weblogic10" />
- </antcall>
- </target>
-
- <target name="integration-test-weblogic12">
- <antcall target="run-generic-integration-test">
- <param name="startDelay" value="600" />
- <param name="target-port" value="7001" />
- <param name="target-server" value="weblogic12" />
- </antcall>
- </target>
-
-
- <target name="integration-test-weblogicPortal">
- <fileset dir="integration-testscripts" id="html-test-files" includes="weblogic-portal/integration-test-WebLogic-Portal-10.3.2-portlet2.html" />
- <pathconvert pathsep=" " property="testfiles" refid="html-test-files" />
- <antcall target="run-generic-integration-test">
- <param name="startDelay" value="600" />
- <param name="target-port" value="7001" />
- <param name="target-server" value="weblogicportal" />
- </antcall>
- </target>
-
- <target name="integration-test-GAE">
- <antcall target="integration-test-deploy-to-GAE" />
- <antcall target="integration-test-test-GAE" />
- </target>
-
- <!-- Upload demo, clean error screenshots and test deployment on all servers -->
- <target name="integration-test-all">
-
- <parallel>
- <trycatch property="tried">
- <try>
- <!-- Still running GAE test from the old server which requires its own lock -->
- <echo message="Getting lock" />
- <antcall target="integration-test-get-lock" />
- <echo message="Got lock" />
- <antcall target="integration-test-upload-demo" />
-
- <antcall target="run-integration-test">
- <param name="target-server" value="GAE" />
- </antcall>
-
- <antcall target="integration-test-clean" />
- <echo message="Getting lock" />
- <antcall target="integration-test-release-lock" />
- <echo message="Lock released" />
-
- </try>
- <catch>
- <echo message="Uploading of demo.war failed. ${tried}" />
- </catch>
- </trycatch>
-
- <antcall target="integration-test-liferay6" />
- <antcall target="integration-test-liferay6ee" />
- <antcall target="integration-test-exo3" />
- <antcall target="integration-test-weblogicPortal" />
- <antcall target="integration-test-liferay5" />
- <antcall target="integration-test-weblogic9" />
- <antcall target="integration-test-weblogic10" />
- <antcall target="integration-test-weblogic12" />
- <antcall target="integration-test-gatein3" />
- <antcall target="integration-test-glassfish2" />
- <antcall target="integration-test-glassfish3" />
- <antcall target="integration-test-jboss3" />
- <antcall target="integration-test-jboss4" />
- <antcall target="integration-test-jboss5" />
- <antcall target="integration-test-jboss6" />
- <antcall target="integration-test-jboss7" />
- <antcall target="integration-test-jetty5" />
- <antcall target="integration-test-jetty6" />
- <antcall target="integration-test-jetty7" />
- <antcall target="integration-test-jetty8" />
- <antcall target="integration-test-tomcat4" />
- <antcall target="integration-test-tomcat5" />
- <antcall target="integration-test-tomcat6" />
- <antcall target="integration-test-tomcat7" />
-
- </parallel>
-
- </target>
-
- <target name="do-run-generic-test">
- <property name="target-host" value="${target-server}.devnet.vaadin.com" />
- <property name="target-port" value="8080" />
-
- <if>
- <isset property="startDelay" />
- <then>
- <math result="sleepTime" datatype="int">
- <op op="rint">
- <op op="*">
- <num value="${startDelay}" />
- <op op="random" />
- </op>
- </op>
- </math>
- <echo>Delaying startup of ${target-server} with ${sleepTime} seconds</echo>
- <sleep seconds="${sleepTime}" />
- </then>
- </if>
-
- <scp todir="${user}@${target-host}:." keyfile="${sshkey.file}" trust="yes" passphrase="${passphrase}">
- <fileset dir="integration_base_files">
- <include name="*" />
- </fileset>
- </scp>
-
- <!-- trycatch probably not needed any more as it just fails with the original message and doesn't do anything in the finally block -->
- <trycatch property="error_message">
- <try>
- <!-- timeout in one hour (remote end should timeout in 55 minutes) -->
- <sshexec host="${target-host}" outputproperty="lock-output" timeout="3600000" username="${user}" keyfile="${sshkey.file}" trust="yes" command="chmod +x *.sh; ant -f deploy.xml get-lock" />
- <antcall target="echo-prefix">
- <param name="prefix" value="${target-server}: " />
- <param name="message" value="${lock-output}" />
- </antcall>
-
- <scp file="${demo.war}" todir="${user}@${target-host}:demo.war" keyfile="${sshkey.file}" trust="yes" passphrase="${passphrase}" />
-
- <!-- timeout in 15 minutes -->
- <sshexec host="${target-host}" outputproperty="start-output" timeout="900000" username="${user}" keyfile="${sshkey.file}" trust="yes" command="ant -f deploy.xml startup-and-deploy" failonerror="false" />
- <antcall target="echo-prefix">
- <param name="prefix" value="${target-server}: " />
- <param name="message" value="${start-output}" />
- </antcall>
-
- <fail message="${start-output}">
- <condition>
- <not>
- <contains string="${start-output}" substring="Demo deployed successfully" />
- </not>
- </condition>
- </fail>
-
- <copy file="integration-testscripts/common/integration_test.tpl" tofile="integration-testscripts/integration-test-${target-server}-servlet.html" overwrite="true" />
- <antcall target="integration-test-servlet">
- <param name="server-name" value="${target-server}" />
- <param name="deployment.url" value="http://${target-host}:${target-port}" />
- </antcall>
-
- <!-- Run theme tests in all browsers if there's a property with the test files -->
- <if>
- <isset property="testfiles-theme" />
- <then>
- <antcall target="integration-test-theme">
- <param name="server-name" value="${target-server}" />
- <param name="deployment.url" value="http://${target-host}:${target-port}" />
- </antcall>
- </then>
- </if>
-
- <!-- timeout in five minutes -->
- <sshexec host="${target-host}" outputproperty="stop-output" timeout="600000" username="${user}" keyfile="${sshkey.file}" trust="yes" command="ant -f deploy.xml shutdown-and-cleanup" failonerror="false" />
- <antcall target="echo-prefix">
- <param name="prefix" value="${target-server}: " />
- <param name="message" value="${stop-output}" />
- </antcall>
- </try>
- <catch>
- <fail message="${error_message}" />
- </catch>
- </trycatch>
- </target>
-
- <target name="echo-prefix">
- <propertyregex property="message-prefixed" input="${prefix}${message}" regexp="\n" replace="\0${prefix}" global="true" defaultValue="${prefix}${message}" />
- <echo message="${message-prefixed}" />
- </target>
-
- <target name="run-generic-integration-test">
- <concat>##teamcity[testStarted name='${target-server}' flowId='${target-server}']</concat>
- <trycatch property="tried">
- <try>
- <antcall target="do-run-generic-test" />
- </try>
- <catch>
- <antcallback target="teamcity-escape" return="tried-escaped">
- <param name="returnTo" value="tried-escaped" />
- <param name="message" value="${tried}" />
- </antcallback>
- <concat>##teamcity[testFailed name='${target-server}' flowId='${target-server}' message='Integration test for ${target-server} failed.' details='${tried-escaped}']</concat>
- </catch>
- </trycatch>
- <concat>##teamcity[testFinished name='${target-server}' flowId='${target-server}']"</concat>
- </target>
-
- <target name="teamcity-escape">
- <property name="returnTo" value="return" />
-
- <!-- Should also perform other escaping (\u0085, \u2028 and \u2029) - see http://confluence.jetbrains.net/display/TCD65/Build+Script+Interaction+with+TeamCity -->
- <!-- Immutable properties -> needs to create a new one every time -->
- <propertyregex property="details-escaped1" input="${message}" regexp="['|\[\]]" replace="|\0" global="true" defaultValue="${message}" />
- <propertyregex property="details-escaped2" input="${details-escaped1}" regexp="\n" replace="|n" global="true" defaultValue="${details-escaped1}" />
- <propertyregex property="details-escaped3" input="${details-escaped2}" regexp="\r" replace="|r" global="true" defaultValue="${details-escaped2}" />
-
- <property name="${returnTo}" value="${details-escaped3}" />
- </target>
-
- <target name="run-integration-test">
- <concat>##teamcity[testStarted name='${target-server}' flowId='${target-server}']</concat>
- <trycatch property="tried">
- <try>
- <antcall target="integration-test-${target-server}" />
- </try>
- <catch>
- <antcallback target="teamcity-escape" return="tried-escaped">
- <param name="returnTo" value="tried-escaped" />
- <param name="message" value="${tried}" />
- </antcallback>
- <concat>##teamcity[testFailed name='${target-server}' flowId='${target-server}' message='Integration test for ${target-server} failed.' details='${tried-escaped}']"</concat>
- </catch>
- </trycatch>
- <concat>##teamcity[testFinished name='${target-server}' flowId='${target-server}']"</concat>
- </target>
-
- <target name="integration-test-get-lock">
- <sshexec host="${test.integration.server}" username="${user}" keyfile="${sshkey.file}" command="ant -f ${ant.hub} get-lock" />
- </target>
-
- <target name="integration-test-release-lock">
- <sshexec host="${test.integration.server}" username="${user}" keyfile="${sshkey.file}" command="ant -f ${ant.hub} release-lock" />
- </target>
-
- <!-- Remove demo.war -->
- <target name="integration-test-clean">
- <sshexec host="${test.integration.server}" username="${user}" keyfile="${sshkey.file}" command="ant -f ${ant.hub} clean" />
- </target>
+<?xml version="1.0"?>
+
+<project name="Vaadin Integration Tests" basedir="." default="integration-test-all">
+
+ <!-- Target deploying demo.war -->
+ <fail unless="test.integration.server" message="test.integration.server must be set for integration tests to run" />
+
+ <fail unless="test.integration.user" message="test.integration.user must be set for integration tests to run" />
+ <fail unless="test.integration.antfile" message="test.integration.antfile must be set for integration tests to run" />
+
+ <!-- Test with these browsers -->
+ <property name="test_browsers" value="winxp-firefox9" />
+
+ <!-- Path to key file. Default value -->
+ <property name="sshkey.file" value="id_dsa" />
+
+ <!-- path and name for demo.war to be deployed -->
+ <property name="demo.war" value="demo.war" />
+
+ <!-- Host running Testbench RC or Testbench Hub. Default value -->
+ <property name="com.vaadin.testbench.tester.host" value="127.0.0.1" />
+
+ <!-- Base url where the testable application is deployed -->
+ <property name="deployment.url" value="http://${test.integration.server}:8080" />
+
+ <!-- ssh host values -->
+ <property name="ant.hub" value="${test.integration.antfile}" />
+ <property name="user" value="${test.integration.user}" />
+ <property name="passphrase" value="" />
+
+ <!-- add ant contrib -->
+ <taskdef resource="net/sf/antcontrib/antcontrib.properties">
+ <classpath>
+ <pathelement location="../build/lib/ant-contrib-1.0b3.jar" />
+ </classpath>
+ </taskdef>
+
+ <!-- Upload war to deploy to ssh host -->
+ <target name="integration-test-upload-demo">
+ <scp file="${demo.war}" todir="${user}@${test.integration.server}:integration-tests/servers/demo.war" keyfile="${sshkey.file}" passphrase="${passphrase}" />
+ </target>
+
+ <!-- Run basic integration test test -->
+ <target name="integration-test-servlet">
+ <fileset dir="integration-testscripts" id="html-test-files" includes="integration-test-${server-name}-servlet.html" />
+ <pathconvert pathsep=" " property="testfiles" refid="html-test-files" />
+ <subant target="run-tests" failonerror="false" antfile="test.xml">
+ <property name="com.vaadin.testbench.lib.dir" value="${com.vaadin.testbench.lib.dir}" />
+ <property name="com.vaadin.testbench.tester.host" value="${com.vaadin.testbench.tester.host}" />
+ <property name="com.vaadin.testbench.deployment.url" value="${deployment.url}" />
+ <property name="server.start.succeeded" value="1" />
+ <property name="browsers" value="${test_browsers}" />
+ <property name="testfiles" value="${testfiles}" />
+ <property name="test-output-dir" value="../build/integration-test-output/${server-name}" />
+ <property name="retries" value="0" />
+
+ <fileset dir="." includes="test.xml" />
+ </subant>
+ </target>
+
+ <target name="integration-test-theme">
+ <subant target="run-tests" failonerror="false" antfile="test.xml">
+ <property name="com.vaadin.testbench.lib.dir" value="${com.vaadin.testbench.lib.dir}" />
+ <property name="com.vaadin.testbench.tester.host" value="${com.vaadin.testbench.tester.host}" />
+ <property name="com.vaadin.testbench.deployment.url" value="${deployment.url}" />
+ <property name="server.start.succeeded" value="1" />
+ <property name="testfiles" value="${testfiles-theme}" />
+ <property name="test-output-dir" value="../build/integration-test-output/${server-name}" />
+
+ <fileset dir="." includes="test.xml" />
+ </subant>
+ </target>
+
+ <!-- Run integration test on GAE -->
+ <target name="integration-test-test-GAE">
+ <fileset dir="integration-testscripts" id="html-test-files" includes="GoogleAppEngine/integration-test-GAE.html" />
+ <pathconvert pathsep=" " property="test-GAE" refid="html-test-files" />
+
+ <subant target="run-tests" failonerror="false" antfile="test.xml">
+ <property name="com.vaadin.testbench.lib.dir" value="${com.vaadin.testbench.lib.dir}" />
+ <property name="com.vaadin.testbench.tester.host" value="${com.vaadin.testbench.tester.host}" />
+ <property name="com.vaadin.testbench.deployment.url" value="http://vaadin-integration-test.appspot.com/" />
+ <property name="server.start.succeeded" value="1" />
+ <property name="browsers" value="${test_browsers}" />
+ <property name="testfiles" value="${test-GAE}" />
+ <property name="test-output-dir" value="../build/integration-test-gae-output" />
+
+ <fileset dir="." includes="test.xml" />
+ </subant>
+ </target>
+
+ <target name="integration-test-deploy-to-GAE">
+ <sshexec host="${test.integration.server}" username="${user}" keyfile="${sshkey.file}" command="ant -f ${ant.hub} deploy-to-GAE" />
+ </target>
+
+
+ <target name="integration-test-tomcat7">
+ <antcall target="run-generic-integration-test">
+ <param name="startDelay" value="10" />
+ <param name="target-server" value="tomcat7" />
+ </antcall>
+ </target>
+
+ <target name="integration-test-tomcat4">
+ <antcall target="run-generic-integration-test">
+ <param name="startDelay" value="10" />
+ <param name="target-server" value="tomcat4" />
+ </antcall>
+ </target>
+
+ <target name="integration-test-tomcat5">
+ <antcall target="run-generic-integration-test">
+ <param name="startDelay" value="10" />
+ <param name="target-server" value="tomcat5" />
+ </antcall>
+ </target>
+
+ <target name="integration-test-tomcat6">
+ <antcall target="run-generic-integration-test">
+ <param name="startDelay" value="10" />
+ <param name="target-server" value="tomcat6" />
+ </antcall>
+ </target>
+
+ <target name="integration-test-jetty5">
+ <antcall target="run-generic-integration-test">
+ <param name="target-server" value="jetty5" />
+ </antcall>
+ </target>
+
+ <target name="integration-test-jetty6">
+ <antcall target="run-generic-integration-test">
+ <param name="target-server" value="jetty6" />
+ </antcall>
+ </target>
+
+ <target name="integration-test-jetty7">
+ <antcall target="run-generic-integration-test">
+ <param name="target-server" value="jetty7" />
+ </antcall>
+ </target>
+
+ <target name="integration-test-jetty8">
+ <antcall target="run-generic-integration-test">
+ <param name="target-server" value="jetty8" />
+ </antcall>
+ </target>
+
+ <target name="integration-test-jboss3">
+ <antcall target="run-generic-integration-test">
+ <param name="startDelay" value="10" />
+ <param name="target-server" value="jboss3" />
+ </antcall>
+ </target>
+
+ <target name="integration-test-jboss4">
+ <antcall target="run-generic-integration-test">
+ <param name="startDelay" value="10" />
+ <param name="target-server" value="jboss4" />
+ </antcall>
+ </target>
+
+ <target name="integration-test-jboss5">
+ <antcall target="run-generic-integration-test">
+ <param name="startDelay" value="10" />
+ <param name="target-server" value="jboss5" />
+ </antcall>
+ </target>
+
+ <target name="integration-test-jboss6">
+ <antcall target="run-generic-integration-test">
+ <param name="startDelay" value="10" />
+ <param name="target-server" value="jboss6" />
+ </antcall>
+ </target>
+
+ <target name="integration-test-jboss7">
+ <antcall target="run-generic-integration-test">
+ <param name="startDelay" value="10" />
+ <param name="target-server" value="jboss7" />
+ </antcall>
+ </target>
+
+ <target name="integration-test-glassfish2">
+ <antcall target="run-generic-integration-test">
+ <param name="startDelay" value="10" />
+ <param name="target-server" value="glassfish2" />
+ </antcall>
+ </target>
+
+ <target name="integration-test-glassfish3">
+ <antcall target="run-generic-integration-test">
+ <param name="startDelay" value="10" />
+ <param name="target-server" value="glassfish3" />
+ </antcall>
+ </target>
+
+
+ <target name="integration-test-liferay6">
+ <fileset dir="integration-testscripts" id="html-test-files" includes="Liferay-6/integration-test-liferay-6.0.5.html" />
+ <pathconvert pathsep=" " property="testfiles" refid="html-test-files" />
+
+ <fileset dir="integration-testscripts" id="html-theme-files" includes="Liferay-6/Liferay6-theme.html" />
+ <pathconvert pathsep=" " property="testfiles-theme" refid="html-theme-files" />
+
+
+ <antcall target="run-generic-integration-test">
+ <param name="startDelay" value="600" />
+ <param name="target-server" value="liferay6" />
+ </antcall>
+ </target>
+
+ <target name="integration-test-liferay5">
+ <fileset dir="integration-testscripts" id="html-test-files" includes="Liferay-5/integration-test-liferay-5.2.3-portlet2.html" />
+ <pathconvert pathsep=" " property="testfiles" refid="html-test-files" />
+
+ <antcall target="run-generic-integration-test">
+ <param name="startDelay" value="600" />
+ <param name="target-server" value="liferay5" />
+ </antcall>
+ </target>
+
+ <target name="integration-test-liferay6ee">
+ <fileset dir="integration-testscripts" id="html-test-files" includes="Liferay-6EE/integration-test-liferay-6ee.html" />
+ <pathconvert pathsep=" " property="testfiles" refid="html-test-files" />
+
+ <fileset dir="integration-testscripts" id="html-theme-files" includes="Liferay-6EE/Liferay6EE-theme.html" />
+ <pathconvert pathsep=" " property="testfiles-theme" refid="html-theme-files" />
+
+ <antcall target="run-generic-integration-test">
+ <param name="startDelay" value="600" />
+ <param name="target-server" value="liferay6ee" />
+ </antcall>
+ </target>
+
+ <target name="integration-test-gatein3">
+ <fileset dir="integration-testscripts" id="html-test-files" includes="GateIn-3/integration-test-GateIn-3.1.0-portlet2.html" />
+ <pathconvert pathsep=" " property="testfiles" refid="html-test-files" />
+ <antcall target="run-generic-integration-test">
+ <param name="startDelay" value="600" />
+ <param name="test_browsers" value="winxp-firefox36" />
+ <param name="target-server" value="gatein3" />
+ </antcall>
+ </target>
+
+ <target name="integration-test-exo3">
+ <fileset dir="integration-testscripts" id="html-test-files" includes="eXo-3/integration-test-eXo-3.0.3-portlet2.html" />
+ <pathconvert pathsep=" " property="testfiles" refid="html-test-files" />
+ <antcall target="run-generic-integration-test">
+ <param name="startDelay" value="600" />
+ <param name="test_browsers" value="winxp-firefox36" />
+ <param name="target-server" value="exo3" />
+ </antcall>
+ </target>
+
+ <target name="integration-test-weblogic9">
+ <antcall target="run-generic-integration-test">
+ <param name="startDelay" value="600" />
+ <param name="target-port" value="7001" />
+ <param name="target-server" value="weblogic9" />
+ </antcall>
+ </target>
+
+ <target name="integration-test-weblogic10">
+ <antcall target="run-generic-integration-test">
+ <param name="startDelay" value="600" />
+ <param name="target-port" value="7001" />
+ <param name="target-server" value="weblogic10" />
+ </antcall>
+ </target>
+
+ <target name="integration-test-weblogic12">
+ <antcall target="run-generic-integration-test">
+ <param name="startDelay" value="600" />
+ <param name="target-port" value="7001" />
+ <param name="target-server" value="weblogic12" />
+ </antcall>
+ </target>
+
+
+ <target name="integration-test-weblogicPortal">
+ <fileset dir="integration-testscripts" id="html-test-files" includes="weblogic-portal/integration-test-WebLogic-Portal-10.3.2-portlet2.html" />
+ <pathconvert pathsep=" " property="testfiles" refid="html-test-files" />
+ <antcall target="run-generic-integration-test">
+ <param name="startDelay" value="600" />
+ <param name="target-port" value="7001" />
+ <param name="target-server" value="weblogicportal" />
+ </antcall>
+ </target>
+
+ <target name="integration-test-GAE">
+ <antcall target="integration-test-deploy-to-GAE" />
+ <antcall target="integration-test-test-GAE" />
+ </target>
+
+ <!-- Upload demo, clean error screenshots and test deployment on all servers -->
+ <target name="integration-test-all">
+
+ <parallel>
+ <trycatch property="tried">
+ <try>
+ <!-- Still running GAE test from the old server which requires its own lock -->
+ <echo message="Getting lock" />
+ <antcall target="integration-test-get-lock" />
+ <echo message="Got lock" />
+ <antcall target="integration-test-upload-demo" />
+
+ <antcall target="run-integration-test">
+ <param name="target-server" value="GAE" />
+ </antcall>
+
+ <antcall target="integration-test-clean" />
+ <echo message="Getting lock" />
+ <antcall target="integration-test-release-lock" />
+ <echo message="Lock released" />
+
+ </try>
+ <catch>
+ <echo message="Uploading of demo.war failed. ${tried}" />
+ </catch>
+ </trycatch>
+
+ <antcall target="integration-test-liferay6" />
+ <antcall target="integration-test-liferay6ee" />
+ <antcall target="integration-test-exo3" />
+ <antcall target="integration-test-weblogicPortal" />
+ <antcall target="integration-test-liferay5" />
+ <antcall target="integration-test-weblogic9" />
+ <antcall target="integration-test-weblogic10" />
+ <antcall target="integration-test-weblogic12" />
+ <antcall target="integration-test-gatein3" />
+ <antcall target="integration-test-glassfish2" />
+ <antcall target="integration-test-glassfish3" />
+ <antcall target="integration-test-jboss3" />
+ <antcall target="integration-test-jboss4" />
+ <antcall target="integration-test-jboss5" />
+ <antcall target="integration-test-jboss6" />
+ <antcall target="integration-test-jboss7" />
+ <antcall target="integration-test-jetty5" />
+ <antcall target="integration-test-jetty6" />
+ <antcall target="integration-test-jetty7" />
+ <antcall target="integration-test-jetty8" />
+ <antcall target="integration-test-tomcat4" />
+ <antcall target="integration-test-tomcat5" />
+ <antcall target="integration-test-tomcat6" />
+ <antcall target="integration-test-tomcat7" />
+
+ </parallel>
+
+ </target>
+
+ <target name="do-run-generic-test">
+ <property name="target-host" value="${target-server}.devnet.vaadin.com" />
+ <property name="target-port" value="8080" />
+
+ <if>
+ <isset property="startDelay" />
+ <then>
+ <math result="sleepTime" datatype="int">
+ <op op="rint">
+ <op op="*">
+ <num value="${startDelay}" />
+ <op op="random" />
+ </op>
+ </op>
+ </math>
+ <echo>Delaying startup of ${target-server} with ${sleepTime} seconds</echo>
+ <sleep seconds="${sleepTime}" />
+ </then>
+ </if>
+
+ <scp todir="${user}@${target-host}:." keyfile="${sshkey.file}" trust="yes" passphrase="${passphrase}">
+ <fileset dir="integration_base_files">
+ <include name="*" />
+ </fileset>
+ </scp>
+
+ <!-- trycatch probably not needed any more as it just fails with the original message and doesn't do anything in the finally block -->
+ <trycatch property="error_message">
+ <try>
+ <!-- timeout in one hour (remote end should timeout in 55 minutes) -->
+ <sshexec host="${target-host}" outputproperty="lock-output" timeout="3600000" username="${user}" keyfile="${sshkey.file}" trust="yes" command="chmod +x *.sh; ant -f deploy.xml get-lock" />
+ <antcall target="echo-prefix">
+ <param name="prefix" value="${target-server}: " />
+ <param name="message" value="${lock-output}" />
+ </antcall>
+
+ <scp file="${demo.war}" todir="${user}@${target-host}:demo.war" keyfile="${sshkey.file}" trust="yes" passphrase="${passphrase}" />
+
+ <!-- timeout in 15 minutes -->
+ <sshexec host="${target-host}" outputproperty="start-output" timeout="900000" username="${user}" keyfile="${sshkey.file}" trust="yes" command="ant -f deploy.xml startup-and-deploy" failonerror="false" />
+ <antcall target="echo-prefix">
+ <param name="prefix" value="${target-server}: " />
+ <param name="message" value="${start-output}" />
+ </antcall>
+
+ <fail message="${start-output}">
+ <condition>
+ <not>
+ <contains string="${start-output}" substring="Demo deployed successfully" />
+ </not>
+ </condition>
+ </fail>
+
+ <copy file="integration-testscripts/common/integration_test.tpl" tofile="integration-testscripts/integration-test-${target-server}-servlet.html" overwrite="true" />
+ <antcall target="integration-test-servlet">
+ <param name="server-name" value="${target-server}" />
+ <param name="deployment.url" value="http://${target-host}:${target-port}" />
+ </antcall>
+
+ <!-- Run theme tests in all browsers if there's a property with the test files -->
+ <if>
+ <isset property="testfiles-theme" />
+ <then>
+ <antcall target="integration-test-theme">
+ <param name="server-name" value="${target-server}" />
+ <param name="deployment.url" value="http://${target-host}:${target-port}" />
+ </antcall>
+ </then>
+ </if>
+
+ <!-- timeout in five minutes -->
+ <sshexec host="${target-host}" outputproperty="stop-output" timeout="600000" username="${user}" keyfile="${sshkey.file}" trust="yes" command="ant -f deploy.xml shutdown-and-cleanup" failonerror="false" />
+ <antcall target="echo-prefix">
+ <param name="prefix" value="${target-server}: " />
+ <param name="message" value="${stop-output}" />
+ </antcall>
+ </try>
+ <catch>
+ <fail message="${error_message}" />
+ </catch>
+ </trycatch>
+ </target>
+
+ <target name="echo-prefix">
+ <propertyregex property="message-prefixed" input="${prefix}${message}" regexp="\n" replace="\0${prefix}" global="true" defaultValue="${prefix}${message}" />
+ <echo message="${message-prefixed}" />
+ </target>
+
+ <target name="run-generic-integration-test">
+ <concat>##teamcity[testStarted name='${target-server}' flowId='${target-server}']</concat>
+ <trycatch property="tried">
+ <try>
+ <antcall target="do-run-generic-test" />
+ </try>
+ <catch>
+ <antcallback target="teamcity-escape" return="tried-escaped">
+ <param name="returnTo" value="tried-escaped" />
+ <param name="message" value="${tried}" />
+ </antcallback>
+ <concat>##teamcity[testFailed name='${target-server}' flowId='${target-server}' message='Integration test for ${target-server} failed.' details='${tried-escaped}']</concat>
+ </catch>
+ </trycatch>
+ <concat>##teamcity[testFinished name='${target-server}' flowId='${target-server}']"</concat>
+ </target>
+
+ <target name="teamcity-escape">
+ <property name="returnTo" value="return" />
+
+ <!-- Should also perform other escaping (\u0085, \u2028 and \u2029) - see http://confluence.jetbrains.net/display/TCD65/Build+Script+Interaction+with+TeamCity -->
+ <!-- Immutable properties -> needs to create a new one every time -->
+ <propertyregex property="details-escaped1" input="${message}" regexp="['|\[\]]" replace="|\0" global="true" defaultValue="${message}" />
+ <propertyregex property="details-escaped2" input="${details-escaped1}" regexp="\n" replace="|n" global="true" defaultValue="${details-escaped1}" />
+ <propertyregex property="details-escaped3" input="${details-escaped2}" regexp="\r" replace="|r" global="true" defaultValue="${details-escaped2}" />
+
+ <property name="${returnTo}" value="${details-escaped3}" />
+ </target>
+
+ <target name="run-integration-test">
+ <concat>##teamcity[testStarted name='${target-server}' flowId='${target-server}']</concat>
+ <trycatch property="tried">
+ <try>
+ <antcall target="integration-test-${target-server}" />
+ </try>
+ <catch>
+ <antcallback target="teamcity-escape" return="tried-escaped">
+ <param name="returnTo" value="tried-escaped" />
+ <param name="message" value="${tried}" />
+ </antcallback>
+ <concat>##teamcity[testFailed name='${target-server}' flowId='${target-server}' message='Integration test for ${target-server} failed.' details='${tried-escaped}']"</concat>
+ </catch>
+ </trycatch>
+ <concat>##teamcity[testFinished name='${target-server}' flowId='${target-server}']"</concat>
+ </target>
+
+ <target name="integration-test-get-lock">
+ <sshexec host="${test.integration.server}" username="${user}" keyfile="${sshkey.file}" command="ant -f ${ant.hub} get-lock" />
+ </target>
+
+ <target name="integration-test-release-lock">
+ <sshexec host="${test.integration.server}" username="${user}" keyfile="${sshkey.file}" command="ant -f ${ant.hub} release-lock" />
+ </target>
+
+ <!-- Remove demo.war -->
+ <target name="integration-test-clean">
+ <sshexec host="${test.integration.server}" username="${user}" keyfile="${sshkey.file}" command="ant -f ${ant.hub} clean" />
+ </target>
</project> \ No newline at end of file