diff options
author | Artur Signell <artur.signell@itmill.com> | 2012-02-02 09:20:29 +0000 |
---|---|---|
committer | Artur Signell <artur.signell@itmill.com> | 2012-02-02 09:20:29 +0000 |
commit | 98737932a588f1b4a8f8115f2545da63ae7f4e4a (patch) | |
tree | d35a758200b6c75f12de9325c8c80f5fc5103746 | |
parent | 7c200d4e869139ff72e848e973cd5ce5932908d8 (diff) | |
download | vaadin-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.css | 350 | ||||
-rw-r--r-- | WebContent/VAADIN/themes/base/notification/notification.css | 20 | ||||
-rw-r--r-- | WebContent/VAADIN/themes/base/table/table.css | 6 | ||||
-rw-r--r-- | WebContent/VAADIN/themes/runo/button/button.css | 342 | ||||
-rw-r--r-- | WebContent/VAADIN/themes/runo/datefield/datefield.css | 230 | ||||
-rw-r--r-- | WebContent/VAADIN/themes/runo/notification/notification.css | 6 | ||||
-rw-r--r-- | WebContent/VAADIN/themes/runo/tabsheet/tabsheet.css | 8 | ||||
-rw-r--r-- | WebContent/VAADIN/themes/tests-components/styles.css | 76 | ||||
-rw-r--r-- | WebContent/VAADIN/themes/tests-tickets/layouts/Ticket1975.html | 2 | ||||
-rw-r--r-- | WebContent/VAADIN/themes/tests-tickets/layouts/Ticket2022.html | 2 | ||||
-rw-r--r-- | WebContent/WEB-INF/web.xml | 122 | ||||
-rw-r--r-- | tests/integration_tests.xml | 995 |
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 |