Browse Source

#8311 Converted CRLF -> LF in css/html/xml files

svn changeset:22852/svn branch:6.7
tags/7.0.0.alpha2
Artur Signell 12 years ago
parent
commit
98737932a5

+ 175
- 175
WebContent/VAADIN/themes/base/button/button.css View File

@@ -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;
}
*/

+ 10
- 10
WebContent/VAADIN/themes/base/notification/notification.css View File

@@ -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;
}

+ 3
- 3
WebContent/VAADIN/themes/base/table/table.css View File

@@ -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;
}
/*************************************

+ 171
- 171
WebContent/VAADIN/themes/runo/button/button.css View File

@@ -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;
}

+ 115
- 115
WebContent/VAADIN/themes/runo/datefield/datefield.css View File

@@ -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;

+ 3
- 3
WebContent/VAADIN/themes/runo/notification/notification.css View File

@@ -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;
}

+ 4
- 4
WebContent/VAADIN/themes/runo/tabsheet/tabsheet.css View File

@@ -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;

+ 38
- 38
WebContent/VAADIN/themes/tests-components/styles.css View File

@@ -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;
}

+ 1
- 1
WebContent/VAADIN/themes/tests-tickets/layouts/Ticket1975.html View File

@@ -1 +1 @@
<b>Testing custom layout..</b>
<b>Testing custom layout..</b>

+ 1
- 1
WebContent/VAADIN/themes/tests-tickets/layouts/Ticket2022.html View File

@@ -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>

+ 61
- 61
WebContent/WEB-INF/web.xml View File

@@ -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>

+ 497
- 498
tests/integration_tests.xml View File

@@ -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>

Loading…
Cancel
Save