Added a skeleton stylesheet that can be used as a base for
authorMarkus Kauppila <markus.kauppila@gmail.com>
Tue, 05 Jul 2011 21:27:35 +0300
changeset 5744 a5b70cefd30e
parent 5743 3f79a693acd3
child 5745 b7808df4148d
Added a skeleton stylesheet that can be used as a base for developing a new stylesheet for XML test reports.
test/test-automation/skeleton.xsl
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/test-automation/skeleton.xsl	Tue Jul 05 21:27:35 2011 +0300
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xsl:stylesheet version="1.0" 
+	xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<xsl:template match="/">
+	
+<html>
+<head>
+<title>Test report</title>
+
+<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"/>
+
+<script type="text/javascript">
+
+var hideTests = '[Hide tests]';
+var showTests = '[Show tests]';
+
+var hideAsserts = '[Hide Assert Summary]';
+var showAsserts = '[Show Assert Summary]';
+
+var hideAllTests = '[Hide All Tests]';
+var showAllTests = '[Show All Tests]';
+
+var hideEverything = '[Hide Everything]';
+var showEverything = '[Show Everything]';
+
+var animationSpeed = 'fast';
+
+$(document).ready(function() {
+	$("span.show-tests").click(function() {
+		var content = $(this).html();
+		var id = $(this).attr('uid');
+		var searchString = "div.tests[uid="+id+"]";
+	
+		if(content == hideTests) {
+			$(searchString).hide(animationSpeed);
+			$(this).text(showTests);
+		} else {
+			$(searchString).show(animationSpeed);
+			$(this).text(hideTests);
+		}
+	});
+
+	$("span.show-asserts").click(function() {
+		var content = $(this).html();
+		var id = $(this).attr('uid');
+		var searchString = "div.asserts[uid="+id+"]";
+		
+		if(content == hideAsserts) {
+			$(searchString).hide(animationSpeed);
+			$(this).text(showAsserts);
+		} else {
+			$(searchString).show(animationSpeed);
+			$(this).text(hideAsserts);
+		}
+	});
+	
+	$("span.show-all-tests").click(function() {
+		var content = $(this).html();
+		var searchString = "div.tests";
+		
+		if(content == hideAllTests) {
+			$(searchString).hide(animationSpeed);
+			$(this).text(showAllTests);
+			
+			/* handle the individual '[show tests]' switcher */
+			$("span.show-tests[uid]").text(showTests);
+		} else {
+			$(searchString).show(animationSpeed);
+			$(this).text(hideAllTests);
+			
+			/* handle the individual '[show tests]' switcher */
+			$("span.show-tests[uid]").text(hideTests);
+		}
+	});
+	
+	$("span.show-everything").click(function() {
+		var content = $(this).html();
+		var searchString = "div.tests";
+		
+		if(content == hideEverything) {
+			$("div.tests").hide(animationSpeed);
+			$("div.asserts").hide(animationSpeed);
+			$(this).text(showEverything);
+			
+			/* handle the individual switchers */
+			$("span.show-tests[uid]").text(showTests);
+			$("span.show-asserts[uid]").text(showAsserts);
+		} else {
+			$("div.tests").show(animationSpeed);
+			$("div.asserts").show(animationSpeed);
+			$(this).text(hideEverything);
+			
+			/* handle the individual switchers */
+			$("span.show-tests[uid]").text(hideTests);
+			$("span.show-asserts[uid]").text(hideAsserts);
+		}
+	});
+
+	/* Initially everything is hidden */
+	$("div.tests").hide();
+	$("div.asserts").hide();
+	
+	/* Color the tests based on the result */
+	$("div.test[result='passed']").addClass('passed');
+	$("div.test[result='failed']").addClass('failed');
+	
+	/* Color the asserts based on the result */
+	$("div.assert[result='pass']").addClass('passed');
+	$("div.assert[result='failure']").addClass('failed');
+});
+
+</script>
+<style>
+
+div, h1 {
+  padding: 3px 10px 2px 10px;
+  margin: 5px 0px 5px 0px;
+}
+
+.document {
+  font-family: Arial;
+  font-size: 11pt;
+  background-color: #EDEDED;
+}
+	
+.title {
+  font-weight: bold;
+}	
+</style>
+	
+</head>
+<body class="document">
+  <h1>Test Report</h1>
+  <div>
+    <span class="title">Start time: </span><xsl:value-of select="testlog/startTime"/><br/>
+    <!-- and ended at <xsl:value-of select="testlog/endTime"/>.<br/>-->
+    <span class="title">Total runtime: </span><xsl:value-of select="testlog/totalRuntime"/> seconds.<br/>
+    <span class="title">Harness parameters: </span>
+	<span xml:space="preserve">
+      <xsl:for-each select="testlog/parameters/parameter">
+        <xsl:value-of select="."/> 	 
+      </xsl:for-each>
+    </span>
+	<br/>
+    <span class="title">Statistics:</span><br/>
+    <div>
+      <span>Executed </span> <xsl:value-of select="testlog/numSuites"/> test suites. <br/>
+      <span>Tests in total: </span> <xsl:value-of select="testlog/numTests"/> (passed: <xsl:value-of select="testlog/numPassedTests"/>, failed: <xsl:value-of select="testlog/numFailedTests"/>)
+    </div>
+  </div>
+
+</body>
+</html>
+
+</xsl:template>
+</xsl:stylesheet>
+