3 new revisions:
Revision: 13012c3eac56
Author: Pekka Klärck
Date: Wed Jun 8 03:23:31 2011
Log: one more todo
http://code.google.com/p/robotframework/source/detail?r=13012c3eac56
Revision: 6fb7c0b020dd
Author: Pekka Klärck
Date: Wed Jun 8 03:28:50 2011
Log: view suite, test and keyword using larger templates instead of
creting...
http://code.google.com/p/robotframework/source/detail?r=6fb7c0b020dd
Revision: fd9e01d239ab
Author: Pekka Klärck
Date: Wed Jun 8 03:28:55 2011
Log: Automated merge with https://robotframework.googlecode.com/hg/
http://code.google.com/p/robotframework/source/detail?r=fd9e01d239ab
==============================================================================
Revision: 13012c3eac56
Author: Pekka Klärck
Date: Wed Jun 8 03:23:31 2011
Log: one more todo
http://code.google.com/p/robotframework/source/detail?r=13012c3eac56
Modified:
/src/robot/webcontent/js/model.js
=======================================
--- /src/robot/webcontent/js/model.js Tue Jun 7 06:28:06 2011
+++ /src/robot/webcontent/js/model.js Wed Jun 8 03:23:31 2011
@@ -15,6 +15,9 @@
var suite = createModelObject(data);
suite.source = data.source;
suite.fullname = data.parent ? data.parent.fullname + "." +
data.name : data.name;
+ // TODO: No need to have status and statusText when the difference
is just case.
+ // Better to have just status in uppercase and let view do
toLowerCase() if needed.
+ // Same changes should be done also with Tests and Keywords.
suite.statusText = data.status.status.toUpperCase();
setStats(suite, data.statistics);
suite.metadata = data.metadata;
==============================================================================
Revision: 6fb7c0b020dd
Author: Pekka Klärck
Date: Wed Jun 8 03:28:50 2011
Log: view suite, test and keyword using larger templates instead of
creting them from small templates using javascript
http://code.google.com/p/robotframework/source/detail?r=6fb7c0b020dd
Modified:
/src/robot/webcontent/js/logTree.js
/src/robot/webcontent/log.html
=======================================
--- /src/robot/webcontent/js/logTree.js Mon Jun 6 09:15:45 2011
+++ /src/robot/webcontent/js/logTree.js Wed Jun 8 03:28:50 2011
@@ -1,116 +1,66 @@
-
function openSuite(suiteId) {
- function populator(suite, childrenElement){
- populateMetadata(suite, childrenElement);
- addElements(suite.keyword, window.templates.keyword,
childrenElement);
- addElements(suite.suite, window.templates.suite, childrenElement);
- addElements(suite.test, window.templates.test, childrenElement);
+ function populator(suite, childElement){
+ addElements(suite.keyword, window.templates.keyword, childElement);
+ addElements(suite.suite, window.templates.suite, childElement);
+ addElements(suite.test, window.templates.test, childElement);
}
openElement(suiteId, populator);
}
-function populateMetadata(element, childrenElement) {
- var metadata = $.tmpl(window.templates.metadata, element);
- metadata.appendTo(childrenElement);
- meta = $('#'+element.id+'_metadata');
- addMetadata(meta, 'Full Name', element.fullname,
window.templates.metadataElement);
- addMetadata(meta, 'Documentation', element.documentation,
window.templates.documentationElement);
- addMetadata(meta, 'Timeout', element.timeout,
window.templates.metadataElement);
- if (element.tags)
- addMetadata(meta, 'Tags', element.tags.join(', '),
window.templates.metadataElement);
- for(var key in element.metadata){
- addMetadata(meta, key, element.metadata[key],
window.templates.metadataElement);
- }
- addMetadata(meta, 'Source', element.source,
window.templates.sourceElement);
- addMetadata(meta, 'Start / End',
- [element.times.startTime(),
element.times.endTime()].join(' / '),
- window.templates.metadataElement);
- addMetadata(meta, 'Elapsed',
- element.times.elapsedTime(),
- window.templates.metadataElement);
- if (element.statusText) {
- var status = $.tmpl(window.templates.statusElement, element);
- status.appendTo(meta);
- }
- addMessage(meta, element);
+function openTest(testId) {
+ function populator(test, childElement){
+ addElements(test.keyword, window.templates.keyword, childElement);
+ }
+ openElement(testId, populator);
}
-function addMessage(parent, element){
- var failureMessage = element.getFailureMessage();
- if(element.total == undefined){
- addMetadata(meta, 'Message', failureMessage,
window.templates.metadataElement);
- return;
- }
- var template = (failureMessage !== undefined ?
window.templates.failureAndStatsMessageElement :
window.templates.statsMessageElement);
- var elem = $.tmpl(template, element);
- elem.appendTo(parent);
-}
-
-function addMetadata(parent, key, value, template) {
- if (value === undefined || value === "") return;
- var data = {key:key, value:value};
- var metadataElement = $.tmpl(template, data);
- metadataElement.appendTo(parent);
+function openKeyword(kwId) {
+ function populator(keyword, childElement){
+ addElements(keyword.keyword, window.templates.keyword,
childElement);
+ addElements(keyword.message, window.templates.message,
childElement);
+ }
+ openElement(kwId, populator);
}
function addElements(elems, template, target){
- for(var i = 0;elems(i); i++){
+ for (var i = 0; elems(i); i++) {
$.tmpl(template, elems(i)).appendTo(target);
}
}
function openElement(elementId, populator){
- var childrenElement = $("#"+elementId+"_children");
- childrenElement.show();
+ var childElement = $("#"+elementId+"_children");
+ childElement.show();
+ if (!childElement.hasClass("populated")) {
+ element = window.testdata.find(elementId);
+ populator(element, childElement);
+ childElement.addClass("populated");
+ }
$('#'+elementId+'_foldlink').show();
$('#'+elementId+'_unfoldlink').hide();
- if(childrenElement.hasClass("populated"))
- return;
- childrenElement.addClass("populated");
- element = window.testdata.find(elementId);
- populator(element, childrenElement);
}
function closeElement(elementId) {
- var childrenElement = $("#"+elementId+"_children")
- childrenElement.hide();
+ $("#"+elementId+"_children").hide();
$('#'+elementId+'_foldlink').hide();
$('#'+elementId+'_unfoldlink').show();
}
-
-function openTest(testId) {
- function populator(test, childrenElement){
- populateMetadata(test, childrenElement);
- addElements(test.keyword, window.templates.keyword,
childrenElement);
- }
- openElement(testId, populator);
-}
-
-function openKeyword(kwId) {
- function populator(keyword, childrenElement){
- populateMetadata(keyword, childrenElement);
- addElements(keyword.keyword, window.templates.keyword,
childrenElement);
- addElements(keyword.message, window.templates.message,
childrenElement);
- }
- openElement(kwId, populator);
-}
function iterateTasks(){
- if (window.tasks.length == 0)
+ if (!window.tasks.length)
return;
var element = window.tasks.pop();
- var unfoldLink = $("#"+element.id+"_unfoldlink");
- if(element == undefined || elementHiddenByUser(element.id)){
+ if (element == undefined || elementHiddenByUser(element.id)) {
window.tasks = []
return;
}
$("#"+element.id+"_unfoldlink").click();
var children = element.children()
- for(var i = children.length-1; i >= 0; i--){
- if(window.tasksMatcher(children[i]))
+ for (var i = children.length-1; i >= 0; i--) {
+ if (window.tasksMatcher(children[i]))
window.tasks.push(children[i]);
}
- if(window.tasks.length > 0)
+ if (window.tasks.length)
setTimeout("iterateTasks()", 0);
}
@@ -126,7 +76,7 @@
}
function expandFailed(element) {
- if(element.status == "fail"){
+ if (element.status == "fail") {
window.tasks = [element];
window.tasksMatcher = function(e) {return e.status == "fail"};
iterateTasks();
=======================================
--- /src/robot/webcontent/log.html Tue Jun 7 07:41:06 2011
+++ /src/robot/webcontent/log.html Wed Jun 8 03:28:50 2011
@@ -524,59 +524,32 @@
</tr>
<tr>
<td class="suite_children">
- <div class="indent" id="${id}_children" style="display:
none;"></div>
+ <div class="indent" id="${id}_children" style="display: none;">
+ <table class="metadata" id="${id}_metadata">
+ <tr><th>Full Name:</th><td>${fullname}</td></tr>
+ {{if documentation}}
+ <tr><th>Documentation:</th><td>{{html documentation}}</td></tr>
+ {{/if}}
+ {{each metadata}}
+ <tr><th>${$index}:</th><td>{{html $value}}</td></tr>
+ {{/each}}
+ <tr><th>Source:</th><td><a href="TODO: relative path
here">${source}</a></td></tr>
+ <tr><th>Start / End / Elapsed:</th><td>${times.startTime} /
${times.endTime} / ${times.elapsedTime}</td></tr>
+
<tr><th>Status:</th><td>{{tmpl($data) '#stats_message_partial_template'}}</td></tr>
+ {{if message}}
+ <tr><th>Message:</th><td>${message}</td></tr>
+ {{/if}}
+ </table>
+ </div>
</td>
</tr>
</table>
</script>
-<script type="text/html" id="stats_message_template">
- <tr>
- <th>Message:</th>
- <td>{{tmpl($data) '#stats_message_partial_template'}}</td>
- </tr>
-</script>
-
-<script type="text/html" id="failure_and_stats_message_template">
- <tr>
- <th>Message:</th>
-
<td>${getFailureMessage()}<br/><br/>{{tmpl($data) '#stats_message_partial_template'}}</td>
- </tr>
-</script>
-
<script type="text/html" id="stats_message_partial_template">
${critical} critical test, ${criticalPassed} passed, <span
class="${criticalFailureClass}">${criticalFailed} failed</span><br
/>${total} test total, ${totalPassed} passed, <span
class="${totalFailureClass}">${totalFailed} failed</span>
</script>
-<script type="text/html" id="metadata_element_template">
- <tr>
- <th>${key}:</th>
- <td>{{html value}}</td>
- </tr>
-</script>
-
-<script type="text/html" id="documentation_element_template">
- <tr>
- <th>${key}:</th>
- <td>{{html value}}</td>
- </tr>
-</script>
-
-<script type="text/html" id="status_element_template">
- <tr>
- <th>Status:</th>
- <td class="${status}">${statusText}</td>
- </tr>
-</script>
-
-<script type="text/html" id="source_element_template">
- <tr>
- <th>${key}:</th>
- <td><a href="${value}">${value}</a>
- </td>
- </tr>
-</script>
-
<script type="text/html" id="test_template">
<table class="test" id="${id}">
<tr>
@@ -598,16 +571,30 @@
</tr>
<tr>
<td>
- <div class="indent" id="${id}_children" style="display:
none;"></div>
+ <div class="indent" id="${id}_children" style="display: none;">
+ <table class="metadata" id="${id}_metadata">
+ <tr><th>Full Name:</th><td>${fullname}</td></tr>
+ {{if documentation}}
+ <tr><th>Documentation:</th><td>{{html documentation}}</td></tr>
+ {{/if}}
+ {{if tags}}
+ <tr><th>Tags:</th><td>${tags.join(', ')}</td></tr>
+ {{/if}}
+ {{if timeout}}
+ <tr><th>Timeout:</th><td>${timeout}</td></tr>
+ {{/if}}
+ <tr><th>Start / End / Elapsed:</th><td>${times.startTime} /
${times.endTime} / ${times.elapsedTime}</td></tr>
+ <tr><th>Status:</th><td
class="${status}">${statusText}</td></tr>
+ {{if message}}
+ <tr><th>Message:</th><td>${message}</td></tr>
+ {{/if}}
+ </table>
+ </div>
</td>
</tr>
</table>
</script>
-<script type="text/html" id="metadata_template">
- <table class="metadata" id="${id}_metadata"></table>
-</script>
-
<script type="text/html" id="keyword_template">
<table class="keyword" id="${id}">
<tr>
@@ -627,7 +614,14 @@
</tr>
<tr>
<td>
- <div class="indent" id="${id}_children" style="display:
none;"></div>
+ <div class="indent" id="${id}_children" style="display: none;">
+ <table class="metadata" id="${id}_metadata">
+ {{if documentation}}
+ <tr><th>Documentation:</th><td>{{html documentation}}</td></tr>
+ {{/if}}
+ <tr><th>Start / End / Elapsed:</th><td>${times.startTime} /
${times.endTime} / ${times.elapsedTime}</td></tr>
+ </table>
+ </div>
</td>
</tr>
</table>
==============================================================================
Revision: fd9e01d239ab
Author: Pekka Klärck
Date: Wed Jun 8 03:28:55 2011
Log: Automated merge with https://robotframework.googlecode.com/hg/
http://code.google.com/p/robotframework/source/detail?r=fd9e01d239ab