Permalink
Browse files

Initial PegParser Checkin

  • Loading branch information...
0 parents commit 515dcf1659359a95daa4a112ad9fe975cd053bc8 Harry Pierson committed Jul 11, 2008
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:output method="html"/>
+ <xsl:template match="/">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="assembly">
+ <xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">]]></xsl:text>
+ <html>
+ <head>
+ <title>xUnit.net Test Results - <xsl:value-of select="@name"/>
+ </title>
+ <style type="text/css">
+ body { font-family: Calibri, Verdana, Arial, sans-serif; background-color: White; color: Black; }
+ h2,h3,h5 { margin: 0; padding: 0; }
+ h2 { border-top: solid 1px #f0f5fa; padding-top: 0.5em; }
+ h3 { font-weight: normal; }
+ h5 { font-weight: normal; font-style: italic; margin-bottom: 0.75em; }
+ pre { font-family: Consolas; font-size: 85%; margin: 0 0 0 1em; padding: 0; }
+ .row, .altrow { padding: 0.1em 0.3em; }
+ .row { background-color: #f0f5fa; }
+ .altrow { background-color: #e1ebf4; }
+ .success, .failure, .skipped { font-family: Arial Unicode MS; font-weight: normal; float: left; width: 1em; display: block; }
+ .success { color: #0c0; }
+ .failure { color: #c00; }
+ .skipped { color: #cc0; }
+ .timing { float: right; }
+ .indent { margin: 0.25em 0 0.5em 2em; }
+ .clickable { cursor: pointer; }
+ .testcount { font-size: 85%; }
+ </style>
+ <script language="javascript">
+ function ToggleClass(id) {
+ var elem = document.getElementById(id);
+ if (elem.style.display == "none")
+ elem.style.display = "block";
+ else
+ elem.style.display = "none";
+ }
+ </script>
+ </head>
+ <body>
+ <h3><b>Results for <xsl:value-of select="@name"/></b></h3>
+ <div>
+ Tests run: <a href="#all"><b><xsl:value-of select="@total"/></b></a> &#160;
+ Failures: <a href="#failures"><b><xsl:value-of select="@failed"/></b></a>,
+ Skipped: <a href="#skipped"><b><xsl:value-of select="@skipped"/></b></a>,
+ Run time: <b><xsl:value-of select="@time"/>s</b>
+ </div>
+ <xsl:if test="//test[@result='Fail']">
+ <br />
+ <h2><a name="failures"></a>Failed tests</h2>
+ <xsl:apply-templates select="//test[@result='Fail']"><xsl:sort select="@name"/></xsl:apply-templates>
+ </xsl:if>
+ <xsl:if test="//class/failure">
+ <br />
+ <h2><a name="failures"></a>Failed fixtures</h2>
+ <xsl:apply-templates select="//class/failure"><xsl:sort select="../@name"/></xsl:apply-templates>
+ </xsl:if>
+ <xsl:if test="@skipped > 0">
+ <br />
+ <h2><a name="skipped"></a>Skipped tests</h2>
+ <xsl:apply-templates select="//test[@result='Skip']"><xsl:sort select="@name"/></xsl:apply-templates>
+ </xsl:if>
+ <br />
+ <h2><a name="all"></a>All tests</h2>
+ <h5>Click test class name to expand/collapse test details</h5>
+ <xsl:apply-templates select="//class"><xsl:sort select="@name"/></xsl:apply-templates>
+ <br /><h5>Results generated <xsl:value-of select="@run-date"/> at <xsl:value-of select="@run-time"/></h5>
+ </body>
+ </html>
+ </xsl:template>
+
+ <xsl:template match="test">
+ <div>
+ <xsl:attribute name="class"><xsl:if test="(position() mod 2 = 0)">alt</xsl:if>row</xsl:attribute>
+ <xsl:if test="@result!='Skip'"><span class="timing"><xsl:value-of select="@time"/>s</span></xsl:if>
+ <xsl:if test="@result='Skip'"><span class="timing">Skipped</span><span class="skipped">&#x2762;</span></xsl:if>
+ <xsl:if test="@result='Fail'"><span class="failure">&#x2718;</span></xsl:if>
+ <xsl:if test="@result='Pass'"><span class="success">&#x2714;</span></xsl:if>
+ &#160;<xsl:value-of select="@name"/>
+ <xsl:if test="child::node()/message"> : <xsl:value-of select="child::node()/message"/></xsl:if>
+ <br clear="all" />
+ <xsl:if test="failure/stack-trace">
+ <pre><xsl:value-of select="failure/stack-trace"/></pre>
+ </xsl:if>
+ </div>
+ </xsl:template>
+
+ <xsl:template match="failure">
+ <span class="failure">&#x2718;</span> <xsl:value-of select="../@name"/> : <xsl:value-of select="message"/><br clear="all"/>
+ Stack Trace:<br />
+ <pre><xsl:value-of select="stack-trace"/></pre>
+ </xsl:template>
+
+ <xsl:template match="class">
+ <h3>
+ <span class="timing"><xsl:value-of select="@time"/>s</span>
+ <span class="clickable">
+ <xsl:attribute name="onclick">ToggleClass('class<xsl:value-of select="position()"/>')</xsl:attribute>
+ <xsl:attribute name="ondblclick">ToggleClass('class<xsl:value-of select="position()"/>')</xsl:attribute>
+ <xsl:if test="@failed > 0"><span class="failure">&#x2718;</span></xsl:if>
+ <xsl:if test="@failed = 0"><span class="success">&#x2714;</span></xsl:if>
+ &#160;<xsl:value-of select="@name"/>
+ &#160;<span class="testcount">(<xsl:value-of select="@total"/>&#160;test<xsl:if test="@total > 1">s</xsl:if>)</span>
+ </span>
+ <br clear="all" />
+ </h3>
+ <div class="indent">
+ <xsl:if test="@failed = 0"><xsl:attribute name="style">display: none;</xsl:attribute></xsl:if>
+ <xsl:attribute name="id">class<xsl:value-of select="position()"/></xsl:attribute>
+ <xsl:apply-templates select="test"><xsl:sort select="@name"/></xsl:apply-templates>
+ </div>
+ </xsl:template>
+
+</xsl:stylesheet>
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:output cdata-section-elements="message stack-trace"/>
+
+ <xsl:template match="/">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="assembly">
+ <test-results>
+ <xsl:attribute name="name">
+ <xsl:value-of select="@name"/>
+ </xsl:attribute>
+ <xsl:attribute name="date">
+ <xsl:value-of select="@run-date"/>
+ </xsl:attribute>
+ <xsl:attribute name="time">
+ <xsl:value-of select="@run-time"/>
+ </xsl:attribute>
+ <xsl:attribute name="total">
+ <xsl:value-of select="@total"/>
+ </xsl:attribute>
+ <xsl:attribute name="failures">
+ <xsl:value-of select="@failed"/>
+ </xsl:attribute>
+ <xsl:attribute name="not-run">
+ <xsl:value-of select="@skipped"/>
+ </xsl:attribute>
+ <test-suite>
+ <xsl:attribute name="name">
+ <xsl:value-of select="@name"/>
+ </xsl:attribute>
+ <xsl:attribute name="success">
+ <xsl:if test="@failed > 0">False</xsl:if>
+ <xsl:if test="@failed = 0">True</xsl:if>
+ </xsl:attribute>
+ <xsl:attribute name="time">
+ <xsl:value-of select="@time"/>
+ </xsl:attribute>
+ <results>
+ <xsl:apply-templates select="class"/>
+ </results>
+ </test-suite>
+ </test-results>
+ </xsl:template>
+
+ <xsl:template match="class">
+ <test-suite>
+ <xsl:attribute name="name">
+ <xsl:value-of select="@name"/>
+ </xsl:attribute>
+ <xsl:attribute name="success">
+ <xsl:if test="@failed > 0">False</xsl:if>
+ <xsl:if test="@failed = 0">True</xsl:if>
+ </xsl:attribute>
+ <xsl:attribute name="time">
+ <xsl:value-of select="@time"/>
+ </xsl:attribute>
+ <xsl:if test="failure">
+ <xsl:copy-of select="failure"/>
+ </xsl:if>
+ <xsl:if test="reason">
+ <reason>
+ <xsl:apply-templates select="reason"/>
+ </reason>
+ </xsl:if>
+ <results>
+ <xsl:apply-templates select="test"/>
+ </results>
+ </test-suite>
+ </xsl:template>
+
+ <xsl:template match="test">
+ <test-case>
+ <xsl:attribute name="name">
+ <xsl:value-of select="@name"/>
+ </xsl:attribute>
+ <xsl:attribute name="executed">
+ <xsl:if test="@result='Skip'">False</xsl:if>
+ <xsl:if test="@result!='Skip'">True</xsl:if>
+ </xsl:attribute>
+ <xsl:if test="@result!='Skip'">
+ <xsl:attribute name="success">
+ <xsl:if test="@result='Fail'">False</xsl:if>
+ <xsl:if test="@result='Pass'">True</xsl:if>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@time">
+ <xsl:attribute name="time">
+ <xsl:value-of select="@time"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates select="traits"/>
+ <xsl:apply-templates select="failure"/>
+ </test-case>
+ </xsl:template>
+
+ <xsl:template match="traits">
+ <properties>
+ <xsl:apply-templates select="trait"/>
+ </properties>
+ </xsl:template>
+
+ <xsl:template match="trait">
+ <property>
+ <xsl:attribute name="name">
+ <xsl:value-of select="@name"/>
+ </xsl:attribute>
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value"/>
+ </xsl:attribute>
+ </property>
+ </xsl:template>
+
+ <xsl:template match="failure">
+ <failure>
+ <xsl:copy-of select="node()"/>
+ </failure>
+ </xsl:template>
+
+</xsl:stylesheet>
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+
+ <configSections>
+ <section name="xunit" type="Xunit.ConsoleClient.XunitConsoleConfigurationSection, xunit.console"/>
+ </configSections>
+
+ <xunit>
+ <transforms>
+ <add
+ commandline="html"
+ xslfile="HTML.xslt"
+ description="output results to HTML file"/>
+ <add
+ commandline="nunit"
+ xslfile="NUnitXml.xslt"
+ description="output results to NUnit-style XML file"/>
+ </transforms>
+ </xunit>
+
+</configuration>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Some generated files are not rendered by default. Learn more.

Oops, something went wrong.
Oops, something went wrong.

0 comments on commit 515dcf1

Please sign in to comment.