Browse Source

This is no more needed since it has been replace by xsl in src/etc:

junit-frames.xsl for framed reports.
junit-noframes.xsl for non-framed reports.


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@269506 13f79535-47bb-0310-9956-ffa450edef68
master
Stephane Bailliez 24 years ago
parent
commit
0c10f4889a
10 changed files with 0 additions and 852 deletions
  1. +0
    -21
      src/main/org/apache/tools/ant/taskdefs/optional/junit/html/index.html
  2. +0
    -38
      src/main/org/apache/tools/ant/taskdefs/optional/junit/html/stylesheet.css
  3. +0
    -45
      src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/all-classes.xsl
  4. +0
    -39
      src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/all-packages.xsl
  5. +0
    -37
      src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/class-details.xsl
  6. +0
    -44
      src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/classes-list.xsl
  7. +0
    -109
      src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/overview-packages.xsl
  8. +0
    -196
      src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/overview-summary.xsl
  9. +0
    -85
      src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/package-summary.xsl
  10. +0
    -238
      src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/toolkit.xsl

+ 0
- 21
src/main/org/apache/tools/ant/taskdefs/optional/junit/html/index.html View File

@@ -1,21 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd>

<HTML>
<HEAD>
<TITLE>
Unit Tests Results.
</TITLE>
</HEAD>
<FRAMESET cols="20%,80%">
<FRAMESET rows="30%,70%">
<FRAME src="all-packages.html" name="packageListFrame">
<FRAME src="all-classes.html" name="classListFrame">
</FRAMESET>
<FRAME src="overview-packages.html" name="classFrame">
</FRAMESET>
<NOFRAMES>
<H2>Frame Alert</H2>
<P>
This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
</P>
</HTML>

+ 0
- 38
src/main/org/apache/tools/ant/taskdefs/optional/junit/html/stylesheet.css View File

@@ -1,38 +0,0 @@
BODY {
font:normal 68% verdana,arial,helvetica;
color:#000000;
}
TD {
FONT-SIZE: 68%
}
P {
line-height:1.5em;
margin-top:0.5em; margin-bottom:1.0em;
}
H1 {
MARGIN: 0px 0px 5px; FONT: 165% verdana,arial,helvetica
}
H2 {
MARGIN-TOP: 1em; MARGIN-BOTTOM: 0.5em; FONT: bold 125% verdana,arial,helvetica
}
H3 {
MARGIN-BOTTOM: 0.5em; FONT: bold 115% verdana,arial,helvetica
}
H4 {
MARGIN-BOTTOM: 0.5em; FONT: bold 100% verdana,arial,helvetica
}
H5 {
MARGIN-BOTTOM: 0.5em; FONT: bold 100% verdana,arial,helvetica
}
H6 {
MARGIN-BOTTOM: 0.5em; FONT: bold 100% verdana,arial,helvetica
}
.Error {
font-weight:bold; background:#EEEEE0; color:purple;
}
.Failure {
font-weight:bold; background:#EEEEE0; color:red;
}
.Pass {
background:#EEEEE0;
}

+ 0
- 45
src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/all-classes.xsl View File

@@ -1,45 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:include href="toolkit.xsl"/>

<!--
Display the whole list of testsuite
-->
<xsl:template match="testsuites">
<HTML>
<HEAD>
<LINK REL ="stylesheet" TYPE="text/css" HREF="./stylesheet.css" TITLE="Style"/>
</HEAD>
<BODY onload="open('overview-packages.html','classFrame')">
<H2>Classes</H2>
<p>
<TABLE WIDTH="100%">
<xsl:apply-templates select="testsuite">
<xsl:sort select="@name"/>
</xsl:apply-templates>
</TABLE>
</p>
</BODY>
</HTML>
</xsl:template>

<!--
Display each testsuite name with an hyperlink to the package frame.
The hyperlink is made of the {packagename} + {classname} + "-details.html"
-->
<xsl:template match="testsuite">
<tr>
<td nowrap="nowrap">
<a target="classFrame">
<xsl:attribute name="href">
<xsl:if test="not(@package='')">
<xsl:value-of select="translate(@package,'.','/')"/><xsl:text>/</xsl:text>
</xsl:if><xsl:value-of select="@name"/><xsl:text>-details.html</xsl:text>
</xsl:attribute>
<xsl:value-of select="@name"/></a>
</td>
</tr>
</xsl:template>

</xsl:stylesheet>

+ 0
- 39
src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/all-packages.xsl View File

@@ -1,39 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:include href="toolkit.xsl"/>

<xsl:template match="testsuites">
<HTML>
<HEAD>
<LINK REL ="stylesheet" TYPE="text/css" HREF="./stylesheet.css" TITLE="Style"/>
</HEAD>
<BODY>
<H2><a href="all-classes.html" target="classListFrame">Home</a></H2>
<!-- create a summary on this testcase-->
<!--xsl:call-template name="SummaryTableHeadRootPackage"/-->
<H2>Packages</H2>

<!-- Get the list of the subpackage -->
<p>
<table width="100%">
<!-- For each packages node apply the style describe in the below template-->
<xsl:apply-templates select="testsuite[not(./@package = preceding-sibling::testsuite/@package)]">
<xsl:sort select="@package"/>
</xsl:apply-templates>
</table>
</p>
</BODY>
</HTML>
</xsl:template>

<xsl:template match="testsuite">
<tr>
<td nowrap="nowrap">
<a href="{translate(@package,'.','/')}/package-summary.html" target="classFrame"><xsl:value-of select="@package"/></a>
</td>
</tr>
</xsl:template>

</xsl:stylesheet>

+ 0
- 37
src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/class-details.xsl View File

@@ -1,37 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>

<!-- This style sheet should contain just a named templates that used in the other specific templates -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<!-- import the commun templates -->
<xsl:include href="toolkit.xsl"/>

<xsl:template match="testsuite">
<HTML>
<HEAD>
<LINK REL ="stylesheet" TYPE="text/css" TITLE="Style">
<xsl:attribute name="href"><xsl:call-template name="path"><xsl:with-param name="path" select="@package"/></xsl:call-template>stylesheet.css</xsl:attribute>
</LINK>
</HEAD>
<BODY>
<xsl:call-template name="header">
<xsl:with-param name="useFrame">yes</xsl:with-param>
<xsl:with-param name="path" select="@package"/>
</xsl:call-template>
<H2>Class <xsl:if test="not(@package = '')"><xsl:value-of select="@package"/>.</xsl:if><xsl:value-of select="@name"/></H2>
<p>
<h3>TestCase <xsl:value-of select="@name"/></h3>
<table border="0" cellpadding="5" cellspacing="2" width="95%">
<!-- Header -->
<xsl:call-template name="classesSummaryHeader"/>
<!-- match the testcases of this package -->
<xsl:apply-templates select="testcase"/>
</table>
</p>
</BODY>
</HTML>
</xsl:template>

</xsl:stylesheet>

+ 0
- 44
src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/classes-list.xsl View File

@@ -1,44 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<!-- import the commun templates -->
<xsl:include href="toolkit.xsl"/>

<xsl:template match="testsuites">
<HTML>
<HEAD>
<LINK REL ="stylesheet" TYPE="text/css" TITLE="Style">
<xsl:attribute name="href"><xsl:call-template name="path"><xsl:with-param name="path" select="testsuite[position() = 1]/@package"/></xsl:call-template>stylesheet.css</xsl:attribute>
</LINK>
</HEAD>
<BODY>
<table width="100%">
<tr>
<td nowrap="nowrap">
<H2><a href="package-summary.html" target="classFrame"><xsl:value-of select="testsuite/@package"/></a></H2>
</td>
</tr>
</table>
<H2>Classes</H2>
<p>
<TABLE WIDTH="100%">
<xsl:apply-templates select="testsuite">
<xsl:sort select="@name"/>
</xsl:apply-templates>
</TABLE>
</p>
</BODY>
</HTML>
</xsl:template>

<xsl:template match="testsuite">
<tr>
<td nowrap="nowrap">
<a href="{@name}-details.html" target="classFrame"><xsl:value-of select="@name"/></a>
</td>
</tr>
</xsl:template>

</xsl:stylesheet>

+ 0
- 109
src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/overview-packages.xsl View File

@@ -1,109 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:include href="toolkit.xsl"/>

<xsl:template match="testsuites">
<HTML>
<HEAD>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"/>
</HEAD>
<BODY>
<xsl:call-template name="header">
<xsl:with-param name="useFrame">yes</xsl:with-param>
</xsl:call-template>

<xsl:call-template name="summary"/>


<xsl:if test="count(testsuite[not(./@package = preceding-sibling::testsuite/@package)])&gt;0">
<h2>Packages</h2>
<table border="0" cellpadding="5" cellspacing="2" width="95%">
<!--Header-->
<xsl:call-template name="packageSummaryHeader"/>
<!-- write a summary for the package -->
<xsl:apply-templates select="testsuite[not(./@package = preceding-sibling::testsuite/@package) and not(./@package = '') ]" mode="package">
<xsl:sort select="@package"/>
</xsl:apply-templates>
</table>
<br/>
</xsl:if>


<xsl:if test="count(testsuite[./@package = ''])&gt;0">
<h2>Classes</h2>
<table border="0" cellpadding="5" cellspacing="2" width="95%">
<!--Header-->
<xsl:call-template name="packageSummaryHeader"/>
<!-- write a summary for the package -->
<xsl:apply-templates select="testsuite[./@package = '']" mode="class">
<xsl:sort select="@name"/>
</xsl:apply-templates>
</table>
</xsl:if>
</BODY>
</HTML>
</xsl:template>

<xsl:template match="testsuite" mode="package">
<xsl:variable name="isError" select="(sum(//testsuite[@package = current()/@package]/@errors) + sum(//testsuite[@package = current()/@package]/@failures))&gt;0"/>
<!-- write a summary for the package -->
<tr valign="top">
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="$isError">Failure</xsl:when>
<xsl:otherwise>Pass</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<td>
<a href="{translate(@package,'.','/')}/package-summary.html">
<xsl:value-of select="@package"/>
</a>
</td>
<xsl:call-template name="statistics">
<xsl:with-param name="isError" select="$isError"/>
</xsl:call-template>
</tr>
</xsl:template>

<xsl:template match="testsuite" mode="class">
<xsl:variable name="isError" select="(@errors + @failures)&gt;0"/>
<!-- write a summary for the package -->
<tr valign="top">
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="$isError">Failure</xsl:when>
<xsl:otherwise>Pass</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<td>

<a href="{translate(@package,'.','/')}/summary.html">
<xsl:value-of select="@name"/>
</a>
</td>
<xsl:call-template name="statistics">
<xsl:with-param name="isError" select="$isError"/>
</xsl:call-template>
</tr>
</xsl:template>


<xsl:template name="statistics">
<xsl:variable name="isError"/>
<td>
<xsl:value-of select="sum(//testsuite[@package = current()/@package]/@tests)"/></td>
<td>
<xsl:value-of select="sum(//testsuite[@package = current()/@package]/@errors)"/></td>
<td>
<xsl:value-of select="sum(//testsuite[@package = current()/@package]/@failures)"/></td>
<td>
<xsl:call-template name="display-time">
<xsl:with-param name="value" select="sum(//testsuite[@package = current()/@package]/@time)"/>
</xsl:call-template>
</td>
</xsl:template>

</xsl:stylesheet>

+ 0
- 196
src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/overview-summary.xsl View File

@@ -1,196 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:html="http://www.w3.org/Profiles/XHTML-transitional">

<xsl:include href="toolkit.xsl"/>

<!--
====================================================
Create the page structure
====================================================
-->
<xsl:template match="testsuites">
<HTML>
<HEAD>
<!--LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"/-->
<!-- put the style in the html so that we can mail it w/o problem -->
<style type="text/css">
BODY {
font:normal 68% verdana,arial,helvetica;
color:#000000;
}
TD {
FONT-SIZE: 68%
}
P {
line-height:1.5em;
margin-top:0.5em; margin-bottom:1.0em;
}
H1 {
MARGIN: 0px 0px 5px; FONT: 165% verdana,arial,helvetica
}
H2 {
MARGIN-TOP: 1em; MARGIN-BOTTOM: 0.5em; FONT: bold 125% verdana,arial,helvetica
}
H3 {
MARGIN-BOTTOM: 0.5em; FONT: bold 115% verdana,arial,helvetica
}
H4 {
MARGIN-BOTTOM: 0.5em; FONT: bold 100% verdana,arial,helvetica
}
H5 {
MARGIN-BOTTOM: 0.5em; FONT: bold 100% verdana,arial,helvetica
}
H6 {
MARGIN-BOTTOM: 0.5em; FONT: bold 100% verdana,arial,helvetica
}
.Error {
font-weight:bold; background:#EEEEE0; color:purple;
}
.Failure {
font-weight:bold; background:#EEEEE0; color:red;
}
.Pass {
background:#EEEEE0;
}
</style>
</HEAD>
<body text="#000000" bgColor="#ffffff">
<a name="#top"></a>
<xsl:call-template name="header"/>
<!-- Summary part -->
<xsl:call-template name="summary"/>
<hr size="1" width="95%" align="left"/>
<!-- Package List part -->
<xsl:call-template name="packagelist"/>
<hr size="1" width="95%" align="left"/>
<!-- For each package create its part -->
<xsl:call-template name="packages"/>
<hr size="1" width="95%" align="left"/>
<!-- For each class create the part -->
<xsl:call-template name="classes"/>
</body>
</HTML>
</xsl:template>
<!-- ================================================================== -->
<!-- Write a list of all packages with an hyperlink to the anchor of -->
<!-- of the package name. -->
<!-- ================================================================== -->
<xsl:template name="packagelist">
<h2>Packages</h2>
Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.
<table border="0" cellpadding="5" cellspacing="2" width="95%">
<xsl:call-template name="packageSummaryHeader"/>
<!-- list all packages recursively -->
<xsl:for-each select="./testsuite[not(./@package = preceding-sibling::testsuite/@package)]">
<xsl:sort select="@package"/>
<xsl:variable name="testCount" select="sum(../testsuite[./@package = current()/@package]/@tests)"/>
<xsl:variable name="errorCount" select="sum(../testsuite[./@package = current()/@package]/@errors)"/>
<xsl:variable name="failureCount" select="sum(../testsuite[./@package = current()/@package]/@failures)"/>
<xsl:variable name="timeCount" select="sum(../testsuite[./@package = current()/@package]/@time)"/>
<!-- write a summary for the package -->
<tr valign="top">
<!-- set a nice color depending if there is an error/failure -->
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="$failureCount &gt; 0">Failure</xsl:when>
<xsl:when test="$errorCount &gt; 0">Error</xsl:when>
<xsl:otherwise>Pass</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<td><a href="#{@package}"><xsl:value-of select="@package"/></a></td>
<td><xsl:value-of select="$testCount"/></td>
<td><xsl:value-of select="$errorCount"/></td>
<td><xsl:value-of select="$failureCount"/></td>
<td>
<xsl:call-template name="display-time">
<xsl:with-param name="value" select="$timeCount"/>
</xsl:call-template>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
<!-- ================================================================== -->
<!-- Write a package level report -->
<!-- It creates a table with values from the document: -->
<!-- Name | Tests | Errors | Failures | Time -->
<!-- ================================================================== -->
<xsl:template name="packages">
<!-- create an anchor to this package name -->
<xsl:for-each select="./testsuite[not(./@package = preceding-sibling::testsuite/@package)]">
<xsl:sort select="@package"/>
<a name="#{@package}"></a>
<h3>Package <xsl:value-of select="@package"/></h3>
<table border="0" cellpadding="5" cellspacing="2" width="95%">
<xsl:call-template name="packageSummaryHeader"/>
<!-- match the testsuites of this package -->
<xsl:apply-templates select="../testsuite[./@package = current()/@package]"/>
</table>
<a href="#top">Back to top</a>
<p/>
<p/>
</xsl:for-each>
</xsl:template>

<!-- ================================================================== -->
<!-- Process a testsuite node -->
<!-- It creates a table with values from the document: -->
<!-- Name | Tests | Errors | Failures | Time -->
<!-- It must match the table definition at the package level -->
<!-- ================================================================== -->
<xsl:template match="testsuite">
<tr valign="top">
<!-- set a nice color depending if there is an error/failure -->
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="@failures[.&gt; 0]">Failure</xsl:when>
<xsl:when test="@errors[.&gt; 0]">Error</xsl:when>
<xsl:otherwise>Pass</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<!-- print testsuite information -->
<td><a href="#{@name}"><xsl:value-of select="@name"/></a></td>
<td><xsl:value-of select="@tests"/></td>
<td><xsl:value-of select="@errors"/></td>
<td><xsl:value-of select="@failures"/></td>
<td>
<xsl:call-template name="display-time">
<xsl:with-param name="value" select="@time"/>
</xsl:call-template>
</td>
</tr>
</xsl:template>
<xsl:template name="classes">
<xsl:for-each select="./testsuite">
<xsl:sort select="@name"/>
<!-- create an anchor to this class name -->
<a name="#{@name}"></a>
<h3>TestCase <xsl:value-of select="@name"/></h3>
<table border="0" cellpadding="5" cellspacing="2" width="95%">
<!-- Header -->
<xsl:call-template name="classesSummaryHeader"/>

<!-- match the testcases of this package -->
<xsl:apply-templates select="testcase"/>
</table>
<a href="#top">Back to top</a>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

+ 0
- 85
src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/package-summary.xsl View File

@@ -1,85 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<!-- import the commun templates -->
<xsl:include href="toolkit.xsl"/>

<xsl:template match="testsuites">
<HTML>
<HEAD>
<LINK REL ="stylesheet" TYPE="text/css" TITLE="Style">
<xsl:attribute name="href"><xsl:call-template name="path"><xsl:with-param name="path" select="testsuite[position() = 1]/@package"/></xsl:call-template>stylesheet.css</xsl:attribute>
</LINK>
</HEAD>
<BODY><xsl:attribute name="onload">open('classes-list.html','classListFrame')</xsl:attribute>
<xsl:call-template name="header">
<xsl:with-param name="useFrame">yes</xsl:with-param>
<xsl:with-param name="path" select="testsuite/@package"/>
</xsl:call-template>
<!-- create an anchor to this package name -->
<h3>Package <xsl:value-of select="testsuite/@package"/></h3>
<table border="0" cellpadding="5" cellspacing="2" width="95%">
<!--Header-->
<xsl:call-template name="packageSummaryHeader"/>
<!-- write a summary for the package -->
<tr valign="top">
<xsl:variable name="errorCount" select="sum(testsuite/@errors)"/>
<xsl:variable name="failureCount" select="sum(testsuite/@failures)"/>
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="$failureCount &gt; 0">Failure</xsl:when>
<xsl:when test="$errorCount &gt; 0">Error</xsl:when>
<xsl:otherwise>Pass</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<td><xsl:value-of select="testsuite/@package"/></td>
<td><xsl:value-of select="sum(testsuite/@tests)"/></td>
<td><xsl:value-of select="sum(testsuite/@errors)"/></td>
<td><xsl:value-of select="sum(testsuite/@failures)"/></td>
<td><xsl:value-of select="format-number(sum(testsuite/@time),'#,###0.000')"/></td>
</tr>
</table>
<H2>Classes</H2>
<p>
<table border="0" cellpadding="5" cellspacing="2" width="95%">
<!--Header-->
<xsl:call-template name="packageSummaryHeader"/>
<!--Value-->
<xsl:apply-templates select="testsuite">
<xsl:sort select="@name"/>
</xsl:apply-templates>
</table>
</p>
</BODY>
</HTML>
</xsl:template>

<xsl:template match="testsuite">
<tr valign="top">
<!-- set a nice color depending if there is an error/failure -->
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="@failures[.&gt; 0]">Failure</xsl:when>
<xsl:when test="@errors[.&gt; 0]">Error</xsl:when>
<xsl:otherwise>Pass</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<!-- print testsuite information -->
<td><a href="{@name}-details.html" target="classFrame"><xsl:value-of select="@name"/></a></td>
<td><xsl:value-of select="@tests"/></td>
<td><xsl:value-of select="@errors"/></td>
<td><xsl:value-of select="@failures"/></td>
<td>
<xsl:call-template name="display-time">
<xsl:with-param name="value" select="@time"/>
</xsl:call-template>
</td>
</tr>
</xsl:template>

</xsl:stylesheet>

+ 0
- 238
src/main/org/apache/tools/ant/taskdefs/optional/junit/xsl/toolkit.xsl View File

@@ -1,238 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<!--
format a number in to display its value in percent
@param value the number to format
-->
<xsl:template name="display-time">
<xsl:param name="value"/>
<xsl:value-of select="format-number($value,'0.000')"/>
</xsl:template>

<!--
format a number in to display its value in percent
@param value the number to format
-->
<xsl:template name="display-percent">
<xsl:param name="value"/>
<xsl:value-of select="format-number($value,'0.00%')"/>
</xsl:template>

<!--
transform string like a.b.c to ../../../
@param path the path to transform into a descending directory path
-->
<xsl:template name="path">
<xsl:param name="path"/>
<xsl:if test="contains($path,'.')">
<xsl:text>../</xsl:text>
<xsl:call-template name="path">
<xsl:with-param name="path"><xsl:value-of select="substring-after($path,'.')"/></xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="not(contains($path,'.')) and not($path = '')">
<xsl:text>../</xsl:text>
</xsl:if>
</xsl:template>

<!--
template that will convert a carriage return into a br tag
@param word the text from which to convert CR to BR tag
-->
<xsl:template name="br-replace">
<xsl:param name="word"/>
<xsl:choose>
<xsl:when test="contains($word,'&#xA;')">
<xsl:value-of select="substring-before($word,'&#xA;')"/>
<br/>
<xsl:call-template name="br-replace">
<xsl:with-param name="word" select="substring-after($word,'&#xA;')"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$word"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

<!--
=====================================================================
classes summary header
=====================================================================
-->
<xsl:template name="header">
<xsl:param name="useFrame">no</xsl:param>
<xsl:param name="path"/>
<h1>Unit Tests Results</h1>
<table width="100%">
<tr>
<td align="left">
<!--xsl:choose>
<xsl:when test="$useFrame='yes'">Frames&#160;
<a target="_top">
<xsl:attribute name="href"><xsl:call-template name="path"><xsl:with-param name="path" select="$path"/></xsl:call-template>noframes.html</xsl:attribute>No frames</a></xsl:when>
<xsl:when test="$useFrame='no'"><a target="_top"><xsl:attribute name="href"><xsl:call-template name="path"><xsl:with-param name="path" select="$path"/></xsl:call-template>index.html</xsl:attribute>Frames</a>&#160;No frames</xsl:when>
<xsl:otherwise><code>ERROR : useFrame must have 'no' or 'yes' as value.</code></xsl:otherwise>
</xsl:choose-->
</td>
<td align="right">Designed for use with <a href='http://www.junit.org'>JUnit</a> and <a href='http://jakarta.apache.org'>Ant</a>.</td>
</tr>
</table>
<hr size="1"/>
</xsl:template>

<xsl:template name="summaryHeader">
<tr bgcolor="#A6CAF0" valign="top">
<td><b>Tests</b></td>
<td><b>Failures</b></td>
<td><b>Errors</b></td>
<td><b>Success Rate</b></td>
<td nowrap="nowrap"><b>Time(s)</b></td>
</tr>
</xsl:template>

<!--
=====================================================================
package summary header
=====================================================================
-->
<xsl:template name="packageSummaryHeader">
<tr bgcolor="#A6CAF0" valign="top">
<td width="75%"><b>Name</b></td>
<td width="5%"><b>Tests</b></td>
<td width="5%"><b>Errors</b></td>
<td width="5%"><b>Failures</b></td>
<td width="10%" nowrap="nowrap"><b>Time(s)</b></td>
</tr>
</xsl:template>

<!--
=====================================================================
classes summary header
=====================================================================
-->
<xsl:template name="classesSummaryHeader">
<tr bgcolor="#A6CAF0" valign="top">
<td width="18%"><b>Name</b></td>
<td width="7%"><b>Status</b></td>
<td width="70%"><b>Type</b></td>
<td width="5%" nowrap="nowrap"><b>Time(s)</b></td>
</tr>
</xsl:template>

<!--
=====================================================================
Write the summary report
It creates a table with computed values from the document:
User | Date | Environment | Tests | Failures | Errors | Rate | Time
Note : this template must call at the testsuites level
=====================================================================
-->
<xsl:template name="summary">
<h2>Summary</h2>
<xsl:variable name="testCount" select="sum(./testsuite/@tests)"/>
<xsl:variable name="errorCount" select="sum(./testsuite/@errors)"/>
<xsl:variable name="failureCount" select="sum(./testsuite/@failures)"/>
<xsl:variable name="timeCount" select="sum(./testsuite/@time)"/>
<xsl:variable name="successRate" select="($testCount - $failureCount - $errorCount) div $testCount"/>
<table border="0" cellpadding="5" cellspacing="2" width="95%">
<xsl:call-template name="summaryHeader"/>
<tr valign="top">
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="$failureCount &gt; 0">Failure</xsl:when>
<xsl:when test="$errorCount &gt; 0">Error</xsl:when>
<xsl:otherwise>Pass</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<td><xsl:value-of select="$testCount"/></td>
<td><xsl:value-of select="$failureCount"/></td>
<td><xsl:value-of select="$errorCount"/></td>
<td>
<xsl:call-template name="display-percent">
<xsl:with-param name="value" select="$successRate"/>
</xsl:call-template>
</td>
<td>
<xsl:call-template name="display-time">
<xsl:with-param name="value" select="$timeCount"/>
</xsl:call-template>
</td>
</tr>
</table>
Note: <i>failures</i> are anticipated and checked for with assertions while <i>errors</i> are unanticipated.
</xsl:template>

<!--
=====================================================================
testcase report
=====================================================================
-->
<xsl:template match="testcase">
<TR valign="top">
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="./failure">Failure</xsl:when>
<xsl:when test="./error">Error</xsl:when>
<xsl:otherwise>Pass</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<TD><xsl:value-of select="./@name"/></TD>
<xsl:choose>
<xsl:when test="./failure">
<td>Failure</td>
<td><xsl:apply-templates select="./failure"/></td>
</xsl:when>
<xsl:when test="./error">
<TD>Error</TD>
<td><xsl:apply-templates select="./error"/></td>
</xsl:when>
<xsl:otherwise>
<TD>Success</TD>
<TD><xsl:apply-templates select="./pass"/></TD>
</xsl:otherwise>
</xsl:choose>
<td>
<xsl:call-template name="display-time">
<xsl:with-param name="value" select="@time"/>
</xsl:call-template>
</td>
</TR>
</xsl:template>

<!-- Note : the below template error and failure are the same style
so just call the same style store in the toolkit template -->
<xsl:template match="failure">
<xsl:call-template name="display-failures"/>
</xsl:template>

<xsl:template match="error">
<xsl:call-template name="display-failures"/>
</xsl:template>

<!-- Style for the error and failure in the tescase template -->
<xsl:template name="display-failures">
<xsl:choose>
<xsl:when test="not(@message)">N/A</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@message"/>
</xsl:otherwise>
</xsl:choose>
<!-- display the stacktrace -->
<code>
<p/>
<xsl:call-template name="br-replace">
<xsl:with-param name="word" select="."/>
</xsl:call-template>
</code>
<!-- the later is better but might be problematic for non-21" monitors... -->
<!--pre><xsl:value-of select="."/></pre-->
</xsl:template>

<!-- I am sure that all nodes are called -->
<xsl:template match="*">
<xsl:apply-templates/>
</xsl:template>

</xsl:stylesheet>

Loading…
Cancel
Save