2 new revisions:
Revision: fa668253c0a1
Author: Pekka Klärck
Date: Mon Aug 27 23:50:02 2012
Log: libdoc: i accidentally, the whole print.css. thought i was
editing rob...
http://code.google.com/p/robotframework/source/detail?r=fa668253c0a1
Revision: e55b50282526
Author: Pekka Klärck
Date: Tue Aug 28 00:37:48 2012
Log: log/report: Massive CSS tuning....
http://code.google.com/p/robotframework/source/detail?r=e55b50282526
==============================================================================
Revision: fa668253c0a1
Author: Pekka Klärck
Date: Mon Aug 27 23:50:02 2012
Log: libdoc: i accidentally, the whole print.css. thought i was
editing robot's print.css but these changes are valid here nevertheless.
http://code.google.com/p/robotframework/source/detail?r=fa668253c0a1
Modified:
/src/robot/htmldata/libdoc/print.css
=======================================
--- /src/robot/htmldata/libdoc/print.css Tue Mar 6 03:11:52 2012
+++ /src/robot/htmldata/libdoc/print.css Mon Aug 27 23:50:02 2012
@@ -1,7 +1,7 @@
body {
- margin: 0px 1px;
- padding: 0px;
- font-size: 10px;
+ margin: 0;
+ padding: 0;
+ font-size: 8pt;
}
a {
text-decoration: none;
==============================================================================
Revision: e55b50282526
Author: Pekka Klärck
Date: Tue Aug 28 00:37:48 2012
Log: log/report: Massive CSS tuning.
Main target was to enhance performance according to these rules:
https://developers.google.com/speed/docs/best-practices/rendering
http://code.google.com/p/robotframework/source/detail?r=e55b50282526
Modified:
/src/robot/htmldata/rebot/common.css
/src/robot/htmldata/rebot/log.css
/src/robot/htmldata/rebot/log.html
/src/robot/htmldata/rebot/print.css
/src/robot/htmldata/rebot/report.css
/src/robot/htmldata/rebot/report.html
/src/robot/htmldata/rebot/view.js
=======================================
--- /src/robot/htmldata/rebot/common.css Mon Aug 27 04:40:37 2012
+++ /src/robot/htmldata/rebot/common.css Tue Aug 28 00:37:48 2012
@@ -13,7 +13,7 @@
text-decoration: none;
color: blue;
}
-a img {
+a > img {
border: 1px solid blue !important;
}
a:hover, a:active {
@@ -29,7 +29,7 @@
}
/* Headers */
#header {
- width: 800px;
+ width: 63em;
height: 3em;
margin: 6px 0;
}
@@ -88,38 +88,37 @@
background: lightgray;
}
/* Statistics table */
-table.statistics {
- width: 800px;
+.statistics {
+ width: 63em;
border-collapse: collapse;
empty-cells: show;
margin-bottom: 1em;
}
-table.statistics tr:hover {
+.statistics tr:hover {
background: #F4F4FF;
cursor: pointer;
}
-table.statistics td, table.statistics th {
+.statistics th, .statistics td {
border: 1px solid black;
- padding: 1px 4px;
- margin: 0;
+ padding: 0.1em 0.3em;
}
-table.statistics th {
+.statistics th {
background-color: #DCDCDC;
}
-.col_stat {
+.stats_col_stat {
width: 3em;
text-align: center;
}
-table.statistics th.col_stat, table.statistics th.col_elapsed {
- padding-right: 1em;
-}
-.col_elapsed {
+.stats_col_elapsed {
width: 4.5em;
text-align: center;
}
-.col_graph {
+.stats_col_graph {
width: 9em;
}
+th.stats_col_graph:hover {
+ cursor: default;
+}
.stat_name {
float: left;
}
@@ -138,8 +137,6 @@
.pass_bar {
background: #00F000;
}
-.fail_bar {
-}
.graph, .empty_graph {
border: 1px solid black;
width: 100%;
@@ -155,7 +152,7 @@
float: left;
height: 100%;
}
-/* Tablesorter - adapted from Blue Skin available at
http://tablesorter.com */
+/* Tablesorter - adapted from provided Blue Skin */
.tablesorter-header {
background-image:
url(data:image/gif;base64,R0lGODlhCwAJAIAAAH9/fwAAACH5BAEAAAEALAAAAAALAAkAAAIRjAOnBr3cnIr0WUjTrC9e9BQAOw==);
background-repeat: no-repeat;
@@ -170,3 +167,6 @@
background-image:
url(data:image/gif;base64,R0lGODlhCwAJAKEAAAAAAH9/fwAAAAAAACH5BAEAAAIALAAAAAALAAkAAAIUlAWnBr3cnIr0WROyDmvzp13CpxQAOw==);
background-color: #B8C8E3 !important;
}
+.narrow {
+ padding-right: 1em !important;
+}
=======================================
--- /src/robot/htmldata/rebot/log.css Tue Aug 21 05:46:27 2012
+++ /src/robot/htmldata/rebot/log.css Tue Aug 28 00:37:48 2012
@@ -1,30 +1,30 @@
/* Containers */
-div.suite, div.test, table.errors {
+.suite, .test, .errors {
border: 1px solid gray;
padding: 0.3em;
margin: 0.2em 0;
}
-div.test {
+.test {
border-style: dashed;
}
-table.errors, table.metadata, table.messages {
+.errors, .metadata, .messages {
width: 100%;
}
-div.keyword, table.metadata, table.messages {
+.keyword, .metadata, .messages {
padding-left: 1.2em;
}
/* Suite, test and kw headers */
-div.elementheader {
+.elementheader {
border: 1px solid white;
border-radius: 2px;
padding: 0.2em 0;
}
-div.elementheader:hover {
+.elementheader:hover {
cursor: pointer;
background: #F4F4FF;
border: 1px solid #D3D3D3;
}
-div.foldingbutton {
+.foldingbutton {
float: left;
height: 0.9em;
width: 0.9em;
@@ -35,33 +35,33 @@
border: 1px solid black;
border-radius: 2px;
}
-div.foldingbutton:hover {
+.foldingbutton:hover {
background: yellow;
}
-span.name {
+.name {
font-weight: bold;
}
-a.expandall {
+.expandall {
float: right;
margin: 0.2em 0.5em;
font-size: 0.8em;
}
/* Messages and errors */
-table.messages {
+.messages {
font-family: monospace;
font-size: 1.2em;
}
-table.messages td, table.errors td {
+.messages td, .errors td {
vertical-align: top;
}
-table.messages td.time {
+.time {
width: 6em;
}
-table.errors td.time {
+.error_time {
width: 10em;
white-space: nowrap;
}
-td.level {
+.level {
width: 5em;
text-align: center;
}
@@ -74,17 +74,17 @@
display: table;
}
/* Metadata */
-table.metadata th {
+.metadata th {
width: 13em;
text-align: left;
vertical-align: top;
white-space: nowrap;
padding-right: 0.5em;
}
-table.metadata td {
+.metadata td {
vertical-align: top;
}
-div.keyword table.metadata {
+.keyword_metadata {
font-size: 0.9em;
}
/* Custom styles for statistics */
=======================================
--- /src/robot/htmldata/rebot/log.html Tue Aug 21 06:43:22 2012
+++ /src/robot/htmldata/rebot/log.html Tue Aug 28 00:37:48 2012
@@ -127,7 +127,7 @@
<script type="text/x-jquery-tmpl" id="totalStatisticsRowTemplate">
<tr class="row-${$item.index}">
- <td class="col_stat_name">
+ <td class="stats_col_name">
<div class="stat_name">
<span>{{html label}}</span>
</div>
@@ -138,7 +138,7 @@
<script type="text/x-jquery-tmpl" id="tagStatisticsRowTemplate">
<tr class="row-${$item.index}">
- <td class="col_stat_name">
+ <td class="stats_col_name">
<div class="stat_name">
<span title="{{html doc}}">{{html label}}</span>
{{if info}}(${info}){{/if}}
@@ -156,7 +156,7 @@
<script type="text/x-jquery-tmpl" id="suiteStatisticsRowTemplate">
<tr onclick="makeElementVisible('${id}')" class="row-${$item.index}">
- <td class="col_stat_name">
+ <td class="stats_col_name">
<div class="stat_name">
<a title="{{html label}}"
href="#${id}"><span class="parent_name">{{html
formatParentName}}</span>{{html name}}</a>
@@ -173,7 +173,7 @@
<script type="text/x-jquery-tmpl" id="errorTemplate">
<tr>
- <td class="time">
+ <td class="error_time">
{{if link}}
<a onclick="makeElementVisible('${link}')" href="#${link}"
title="Link to details">${date} ${time}</a>
@@ -308,7 +308,7 @@
onclick="stopPropagation(event);">Expand All</a>
</div>
<div id="${id}_children" style="display: none;">
- <table class="metadata">
+ <table class="metadata keyword_metadata">
{{if doc()}}
<tr>
<th>Documentation:</th>
=======================================
--- /src/robot/htmldata/rebot/print.css Tue Mar 6 03:11:52 2012
+++ /src/robot/htmldata/rebot/print.css Tue Aug 28 00:37:48 2012
@@ -9,7 +9,7 @@
#header {
width: auto;
}
-table.details, table.statistics {
+.details, .statistics {
width: 100%;
}
#generated_ago, #report_or_log_link, #normal_selector, .expand {
@@ -18,7 +18,10 @@
#print_selector {
display: table-cell;
}
-table#test_details thead tr .header {
+.narrow {
+ padding: inherit !important;
+}
+.tablesorter-header {
background-image: none;
background: #DCDCF0 !important;
}
=======================================
--- /src/robot/htmldata/rebot/report.css Mon Aug 27 03:21:25 2012
+++ /src/robot/htmldata/rebot/report.css Tue Aug 28 00:37:48 2012
@@ -11,12 +11,12 @@
color: black;
}
/* Summary and total/tag/suite details */
-table.details {
+.details {
clear: both;
- width: 800px;
+ width: 63em;
margin-bottom: 1em;
}
-table.details th {
+.details th {
background: white;
width: 10em;
white-space: nowrap;
@@ -24,11 +24,11 @@
vertical-align: top;
padding: 0.2em 0.4em;
}
-table.details td {
+.details td {
vertical-align: top;
padding: 0.2em 0.4em;
}
-table.details #selector th, table.details #selector td {
+#selector th, #selector td {
padding-top: 0.5em;
padding-bottom: 1em;
white-space: normal;
@@ -42,7 +42,7 @@
padding: 0;
margin: 0 1em;
}
-#detail_tabs li {
+.detail_tab {
float: left;
background: #DCDCF0;
border: 1px solid black;
@@ -51,69 +51,62 @@
padding-top: 0.1em;
border-radius: 3px 3px 0 0;
}
-#detail_tabs li:hover {
+.detail_tab:hover {
background: yellow;
}
-#detail_tabs li a {
+.detail_tab a {
color: black;
text-decoration: none;
font-weight: bold;
padding: 0 1em;
}
-#detail_tabs li.tab_selected {
+.detail_tab_selected {
position: relative;
top: 1px;
background: white;
}
-#detail_tabs li.tab_selected:hover {
+.detail_tab_selected:hover {
background: white;
}
/* Test details table */
-table#test_details {
+#test_details {
width: 100%;
}
-table#test_details tr:hover {
+#test_details tr:hover {
background: #F4F4FF;
}
-table#test_details th, table#test_details td {
+#test_details th, table#test_details td {
border: 1px solid black;
padding: 0 0.2em;
}
-table#test_details th {
- white-space: nowrap;
+#test_details th {
padding: 0.2em;
}
-table#test_details th.col_crit, table#test_details th.col_status {
- padding-right: 1em;
-}
-table#test_details .col_name {
+.details_col_name {
min-width: 13em;
font-weight: bold;
}
-table#test_details .col_doc {
+.details_col_doc {
min-width: 13em;
}
-table#test_details .col_tags {
+.details_col_tags {
min-width: 10em;
}
-table#test_details .col_crit {
+.details_col_crit {
width: 2em;
text-align: center;
}
-table#test_details .col_status {
+.details_col_status {
width: 3em;
text-align: center;
}
-table#test_details .col_msg {
+.details_col_msg {
min-width: 13em;
}
-table#test_details .col_details_elapsed {
+.details_col_elapsed {
width: 5em;
}
-table#test_details .col_times {
+.details_col_times {
width: 9em;
white-space: nowrap;
}
-table#test_details td.col_times {
- text-align: right;
-}
=======================================
--- /src/robot/htmldata/rebot/report.html Mon Aug 27 05:15:01 2012
+++ /src/robot/htmldata/rebot/report.html Tue Aug 28 00:37:48 2012
@@ -127,7 +127,7 @@
}
function renderTotalSelector(name) {
- var args = {linkTarget: 'total_'+name, totalTabStatus: 'tab_selected'};
+ var args = {linkTarget: 'total_'+name,
totalTabStatus: 'detail_tab_selected'};
renderSelector(args, 'totalDetailsSelectorTemplate', {selected: name});
}
@@ -152,7 +152,7 @@
}
function renderTagSelector(tagName) {
- var args = {linkTarget: 'tag_'+tagName, tagTabStatus: 'tab_selected'};
+ var args = {linkTarget: 'tag_'+tagName,
tagTabStatus: 'detail_tab_selected'};
var tagstats = {tags: window.testdata.statistics().tag, selected:
tagName};
renderSelector(args, 'tagDetailsSelectorTemplate', tagstats);
}
@@ -173,7 +173,7 @@
}
function renderSuiteSelector(id) {
- var args = {linkTarget: 'suite_'+id, suiteTabStatus: 'tab_selected'};
+ var args = {linkTarget: 'suite_'+id,
suiteTabStatus: 'detail_tab_selected'};
var stats = {suites: window.testdata.statistics().suite,
selected: id};
renderSelector(args, 'suiteDetailsSelectorTemplate', stats);
@@ -319,7 +319,7 @@
<script type="text/x-jquery-tmpl" id="totalStatisticsRowTemplate">
<tr onclick="totalDetailSelected('${type}')" class="row-${$item.index}">
- <td class="col_stat_name">
+ <td class="stats_col_name">
<div class="stat_name">
<a href="#total_${type}">{{html label}}</a>
</div>
@@ -330,7 +330,7 @@
<script type="text/x-jquery-tmpl" id="tagStatisticsRowTemplate">
<tr onclick="tagDetailSelected('${label}');" class="row-${$item.index}">
- <td class="col_stat_name">
+ <td class="stats_col_name">
<div class="stat_name">
<a href="#tag_${label}"
title="{{html doc}}">{{html label}}</a>
@@ -349,7 +349,7 @@
<script type="text/x-jquery-tmpl" id="suiteStatisticsRowTemplate">
<tr onclick="suiteDetailSelected('${id}');" class="row-${$item.index}">
- <td class="col_stat_name">
+ <td class="stats_col_name">
<div class="stat_name">
<a href="#suite_${id}"
title="{{html label}}"><span class="parent_name">{{html
formatParentName}}</span>{{html name}}</a>
@@ -362,13 +362,13 @@
<script type="text/x-jquery-tmpl" id="detailsHeaderTemplate">
<h2 id="${linkTarget}">Test Details</h2>
<ul id="detail_tabs">
- <li class="${totalTabStatus}">
+ <li class="${totalTabStatus} detail_tab">
<a href="#totals" onclick="renderTotalSelector();">Totals</a>
</li>
- <li class="${tagTabStatus}">
+ <li class="${tagTabStatus} detail_tab">
<a href="#tags" onclick="renderTagSelector();">Tags</a>
</li>
- <li class="${suiteTabStatus}">
+ <li class="${suiteTabStatus} detail_tab">
<a href="#suites" onclick="renderSuiteSelector();">Suites</a>
</li>
</ul>
@@ -509,14 +509,14 @@
<table id="test_details">
<thead>
<tr>
- <th class="col_name">Name</th>
- <th class="col_doc">Documentation</th>
- <th class="col_tags">Tags</th>
- <th class="col_crit">Crit.</th>
- <th class="col_status">Status</th>
- <th class="col_msg">Message</th>
- <th class="col_elapsed">Elapsed</th>
- <th class="col_times">Start / End</th>
+ <th class="details_col_name">Name</th>
+ <th class="details_col_doc">Documentation</th>
+ <th class="details_col_tags">Tags</th>
+ <th class="details_col_crit narrow">Crit.</th>
+ <th class="details_col_status narrow">Status</th>
+ <th class="details_col_msg">Message</th>
+ <th class="details_col_elapsed">Elapsed</th>
+ <th class="details_col_times">Start / End</th>
</tr>
</thead>
<tbody></tbody>
@@ -526,21 +526,21 @@
<script type="text/x-jquery-tmpl" id="testDetailsTableRowTemplate">
{{if $item.logURL}}
<tr onclick="location = '${$item.logURL}#${id}'" style="cursor: pointer">
- <td class="col_name">
+ <td class="details_col_name">
<a href="${$item.logURL}#${id}"
title="{{html fullName}}"><span class="parent_name">{{html
formatParentName}}</span>{{html name}}</a>
</td>
{{else}}
<tr>
- <td class="col_name"><span class="parent_name">{{html
formatParentName}}</span>{{html name}}</td>
+ <td class="details_col_name"><span class="parent_name">{{html
formatParentName}}</span>{{html name}}</td>
{{/if}}
- <td class="col_doc doc">{{html doc()}}</td>
- <td class="col_tags">{{html tags.join(', ')}}</td>
- <td class="col_crit">{{if isCritical}}yes{{else}}no{{/if}}</td>
- <td class="col_status ${status.toLowerCase()}">${status}</td>
- <td class="col_msg message">{{html message()}}</td>
- <td class="col_details_elapsed">${times.elapsedTime}</td>
- <td class="col_times">${times.startTime}<br>${times.endTime}</td>
+ <td class="details_col_doc doc">{{html doc()}}</td>
+ <td class="details_col_tags">{{html tags.join(', ')}}</td>
+ <td class="details_col_crit">{{if isCritical}}yes{{else}}no{{/if}}</td>
+ <td class="details_col_status ${status.toLowerCase()}">${status}</td>
+ <td class="details_col_msg message">{{html message()}}</td>
+ <td class="details_col_elapsed">${times.elapsedTime}</td>
+ <td
class="details_col_times">${times.startTime}<br>${times.endTime}</td>
</tr>
</script>
=======================================
--- /src/robot/htmldata/rebot/view.js Mon Aug 27 05:40:04 2012
+++ /src/robot/htmldata/rebot/view.js Tue Aug 28 00:37:48 2012
@@ -69,21 +69,21 @@
function addStatistics() {
var statHeaders =
- '<th class="col_stat">Total</th>' +
- '<th class="col_stat">Pass</th>' +
- '<th class="col_stat">Fail</th>' +
- '<th class="col_elapsed">Elapsed</th>' +
- '<th class="col_graph">Pass / Fail</th>';
+ '<th class="stats_col_stat narrow">Total</th>' +
+ '<th class="stats_col_stat narrow">Pass</th>' +
+ '<th class="stats_col_stat narrow">Fail</th>' +
+ '<th class="stats_col_elapsed narrow">Elapsed</th>' +
+ '<th class="stats_col_graph">Pass / Fail</th>';
var statTable =
'<h2>Test Statistics</h2>' +
'<table class="statistics" id="total_stats"><thead><tr>' +
- '<th class="col_stat_name">Total Statistics</th>' + statHeaders +
+ '<th class="stats_col_name">Total Statistics</th>' + statHeaders +
'</tr></thead><tbody></tbody></table>' +
'<table class="statistics" id="tag_stats"><thead><tr>' +
- '<th class="col_stat_name">Statistics by Tag</th>' + statHeaders +
+ '<th class="stats_col_name">Statistics by Tag</th>' + statHeaders +
'</tr></thead><tbody></tbody></table>' +
'<table class="statistics" id="suite_stats"><thead><tr>' +
- '<th class="col_stat_name">Statistics by Suite</th>' + statHeaders
+
+ '<th class="stats_col_name">Statistics by Suite</th>' +
statHeaders +
'</tr></thead><tbody></tbody></table>';
$(statTable).appendTo('#statistics_container');
$.map(['total', 'tag', 'suite'], addStatTable);
@@ -92,10 +92,10 @@
}
function addTooltipsToElapsedTimes() {
- $('#total_stats .col_elapsed, #tag_stats .col_elapsed').attr('title',
+ $('.stats_col_elapsed').attr('title',
'Total execution time of these test cases. ' +
'Excludes suite setups and teardowns.');
- $('#suite_stats .col_elapsed').attr('title',
+ $('#suite_stats .stats_col_elapsed').attr('title',
'Total execution time of this test suite.');
}
@@ -131,12 +131,12 @@
function renderNoTagStatTable() {
$('<tr class="row-0">' +
- '<td class="col_stat_name">No Tags</td>' +
- '<td class="col_stat"></td>' +
- '<td class="col_stat"></td>' +
- '<td class="col_stat"></td>' +
- '<td class="col_elapsed"></td>' +
- '<td class="col_graph">' +
+ '<td class="stats_col_name">No Tags</td>' +
+ '<td class="stats_col_stat"></td>' +
+ '<td class="stats_col_stat"></td>' +
+ '<td class="stats_col_stat"></td>' +
+ '<td class="stats_col_elapsed"></td>' +
+ '<td class="stats_col_graph">' +
'<div class="empty_graph"></div>' +
'</td>' +
'</tr>').appendTo($('#tag_stats > tbody'));
@@ -151,11 +151,11 @@
}
$.template("stat_columns",
- '<td class="col_stat">${total}</td>' +
- '<td class="col_stat">${pass}</td>' +
- '<td class="col_stat">${fail}</td>' +
- '<td class="col_elapsed">${elapsed}</td>' +
- '<td class="col_graph">' +
+ '<td class="stats_col_stat">${total}</td>' +
+ '<td class="stats_col_stat">${pass}</td>' +
+ '<td class="stats_col_stat">${fail}</td>' +
+ '<td class="stats_col_elapsed">${elapsed}</td>' +
+ '<td class="stats_col_graph">' +
'{{if total}}' +
'<div class="graph">' +
'<div class="pass_bar" style="width: ${passWidth}%;"
title="${passPercent}%"></div>' +