Blame common/coverage/coverage-report.xsl

Packit Service 963350

Packit Service 963350
Packit Service 963350
#
Packit Service 963350
# Copyright (C) 2006 Daniel Berrange
Packit Service 963350
#
Packit Service 963350
# This program is free software; you can redistribute it and/or modify
Packit Service 963350
# it under the terms of the GNU General Public License as published by
Packit Service 963350
# the Free Software Foundation; either version 2 of the License, or
Packit Service 963350
# (at your option) any later version.
Packit Service 963350
#
Packit Service 963350
# This program is distributed in the hope that it will be useful,
Packit Service 963350
# but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 963350
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit Service 963350
# GNU General Public License for more details.
Packit Service 963350
#
Packit Service 963350
# You should have received a copy of the GNU General Public License
Packit Service 963350
# along with this program; if not, write to the Free Software
Packit Service 963350
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
Packit Service 963350
-->
Packit Service 963350
Packit Service 963350
                version="1.0">
Packit Service 963350

Packit Service 963350
  <xsl:output method="html"/>
Packit Service 963350

Packit Service 963350
  <xsl:template match="coverage">
Packit Service 963350
    <html>
Packit Service 963350
      <head>
Packit Service 963350
        <title>Coverage report</title>
Packit Service 963350
        <style type="text/css">
Packit Service 963350
          tbody tr.odd td.label {
Packit Service 963350
            border-top: 1px solid rgb(128,128,128);
Packit Service 963350
            border-bottom: 1px solid rgb(128,128,128);
Packit Service 963350
          }
Packit Service 963350
          tbody tr.odd td.label {
Packit Service 963350
            background: rgb(200,200,200);
Packit Service 963350
          }
Packit Service 963350
          
Packit Service 963350
          thead, tfoot {
Packit Service 963350
            background: rgb(60,60,60);
Packit Service 963350
            color: white;
Packit Service 963350
            font-weight: bold;
Packit Service 963350
          }
Packit Service 963350

Packit Service 963350
          tr td.perfect {
Packit Service 963350
            background: rgb(0,255,0);
Packit Service 963350
            color: black;
Packit Service 963350
          }
Packit Service 963350
          tr td.excellant {
Packit Service 963350
            background: rgb(140,255,140);
Packit Service 963350
            color: black;
Packit Service 963350
          }
Packit Service 963350
          tr td.good {
Packit Service 963350
            background: rgb(160,255,0);
Packit Service 963350
            color: black;
Packit Service 963350
          }
Packit Service 963350
          tr td.poor {
Packit Service 963350
            background: rgb(255,160,0);
Packit Service 963350
            color: black;
Packit Service 963350
          }
Packit Service 963350
          tr td.bad {
Packit Service 963350
            background: rgb(255,140,140);
Packit Service 963350
            color: black;
Packit Service 963350
          }
Packit Service 963350
          tr td.terrible {
Packit Service 963350
            background: rgb(255,0,0);
Packit Service 963350
            color: black;
Packit Service 963350
          }
Packit Service 963350
        </style>
Packit Service 963350
      </head>
Packit Service 963350
      <body>
Packit Service 963350
        

Coverage report

Packit Service 963350
        <xsl:apply-templates/>
Packit Service 963350
      </body>
Packit Service 963350
    </html>
Packit Service 963350
  </xsl:template>
Packit Service 963350

Packit Service 963350
  <xsl:template match="functions">
Packit Service 963350
    

Function coverage

Packit Service 963350
    <xsl:call-template name="content">
Packit Service 963350
      <xsl:with-param name="type" select="'function'"/>
Packit Service 963350
    </xsl:call-template>
Packit Service 963350
  </xsl:template>
Packit Service 963350
  
Packit Service 963350

Packit Service 963350
  <xsl:template match="files">
Packit Service 963350
    

File coverage

Packit Service 963350
    <xsl:call-template name="content">
Packit Service 963350
      <xsl:with-param name="type" select="'file'"/>
Packit Service 963350
    </xsl:call-template>
Packit Service 963350
  </xsl:template>
Packit Service 963350

Packit Service 963350
  <xsl:template name="content">
Packit Service 963350
    <xsl:param name="type"/>
Packit Service 963350
    
Packit Service 963350
      
Packit Service 963350
        
Packit Service 963350
          Name
Packit Service 963350
          Lines
Packit Service 963350
          Branches
Packit Service 963350
          Conditions
Packit Service 963350
          Calls
Packit Service 963350
        
Packit Service 963350
      
Packit Service 963350
      
Packit Service 963350
        <xsl:for-each select="entry">
Packit Service 963350
          <xsl:call-template name="entry">
Packit Service 963350
            <xsl:with-param name="type" select="$type"/>
Packit Service 963350
            <xsl:with-param name="class">
Packit Service 963350
              <xsl:choose>
Packit Service 963350
                <xsl:when test="position() mod 2">
Packit Service 963350
                  <xsl:text>odd</xsl:text>
Packit Service 963350
                </xsl:when>
Packit Service 963350
                <xsl:otherwise>
Packit Service 963350
                  <xsl:text>even</xsl:text>
Packit Service 963350
                </xsl:otherwise>
Packit Service 963350
              </xsl:choose>
Packit Service 963350
            </xsl:with-param>
Packit Service 963350
          </xsl:call-template>
Packit Service 963350
        </xsl:for-each>
Packit Service 963350
      
Packit Service 963350
      <tfoot>
Packit Service 963350
        <xsl:for-each select="summary">
Packit Service 963350
          <xsl:call-template name="entry">
Packit Service 963350
            <xsl:with-param name="type" select="'summary'"/>
Packit Service 963350
            <xsl:with-param name="class">
Packit Service 963350
              <xsl:choose>
Packit Service 963350
                <xsl:when test="position() mod 2">
Packit Service 963350
                  <xsl:text>odd</xsl:text>
Packit Service 963350
                </xsl:when>
Packit Service 963350
                <xsl:otherwise>
Packit Service 963350
                  <xsl:text>even</xsl:text>
Packit Service 963350
                </xsl:otherwise>
Packit Service 963350
              </xsl:choose>
Packit Service 963350
            </xsl:with-param>
Packit Service 963350
          </xsl:call-template>
Packit Service 963350
        </xsl:for-each>
Packit Service 963350
      </tfoot>
Packit Service 963350
    
Packit Service 963350
  </xsl:template>
Packit Service 963350
  
Packit Service 963350
  <xsl:template name="entry">
Packit Service 963350
    <xsl:param name="type"/>
Packit Service 963350
    <xsl:param name="class"/>
Packit Service 963350
    
Packit Service 963350
      <xsl:choose>
Packit Service 963350
        <xsl:when test="$type = 'function'">
Packit Service 963350
          <xsl:value-of select="@name"/>
Packit Service 963350
        </xsl:when>
Packit Service 963350
        <xsl:when test="$type = 'file'">
Packit Service 963350
          <xsl:value-of select="@name"/>
Packit Service 963350
        </xsl:when>
Packit Service 963350
        <xsl:otherwise>
Packit Service 963350
          Summary
Packit Service 963350
        </xsl:otherwise>
Packit Service 963350
      </xsl:choose>
Packit Service 963350

Packit Service 963350
      <xsl:if test="count(lines)">
Packit Service 963350
        <xsl:apply-templates select="lines"/>
Packit Service 963350
      </xsl:if>
Packit Service 963350
      <xsl:if test="not(count(lines))">
Packit Service 963350
        <xsl:call-template name="missing"/>
Packit Service 963350
      </xsl:if>
Packit Service 963350

Packit Service 963350
      <xsl:if test="count(branches)">
Packit Service 963350
        <xsl:apply-templates select="branches"/>
Packit Service 963350
      </xsl:if>
Packit Service 963350
      <xsl:if test="not(count(branches))">
Packit Service 963350
        <xsl:call-template name="missing"/>
Packit Service 963350
      </xsl:if>
Packit Service 963350

Packit Service 963350
      <xsl:if test="count(conditions)">
Packit Service 963350
        <xsl:apply-templates select="conditions"/>
Packit Service 963350
      </xsl:if>
Packit Service 963350
      <xsl:if test="not(count(conditions))">
Packit Service 963350
        <xsl:call-template name="missing"/>
Packit Service 963350
      </xsl:if>
Packit Service 963350

Packit Service 963350
      <xsl:if test="count(calls)">
Packit Service 963350
        <xsl:apply-templates select="calls"/>
Packit Service 963350
      </xsl:if>
Packit Service 963350
      <xsl:if test="not(count(calls))">
Packit Service 963350
        <xsl:call-template name="missing"/>
Packit Service 963350
      </xsl:if>
Packit Service 963350

Packit Service 963350
    
Packit Service 963350
  </xsl:template>
Packit Service 963350
  
Packit Service 963350
  <xsl:template match="lines">
Packit Service 963350
    <xsl:call-template name="row"/>
Packit Service 963350
  </xsl:template>
Packit Service 963350

Packit Service 963350
  <xsl:template match="branches">
Packit Service 963350
    <xsl:call-template name="row"/>
Packit Service 963350
  </xsl:template>
Packit Service 963350

Packit Service 963350
  <xsl:template match="conditions">
Packit Service 963350
    <xsl:call-template name="row"/>
Packit Service 963350
  </xsl:template>
Packit Service 963350

Packit Service 963350
  <xsl:template match="calls">
Packit Service 963350
    <xsl:call-template name="row"/>
Packit Service 963350
  </xsl:template>
Packit Service 963350

Packit Service 963350
  <xsl:template name="missing">
Packit Service 963350
    
Packit Service 963350
  </xsl:template>
Packit Service 963350

Packit Service 963350
  <xsl:template name="row">
Packit Service 963350
    <xsl:variable name="quality">
Packit Service 963350
      <xsl:choose>
Packit Service 963350
        <xsl:when test="@coverage = 100">
Packit Service 963350
          <xsl:text>perfect</xsl:text>
Packit Service 963350
        </xsl:when>
Packit Service 963350
        <xsl:when test="@coverage >= 80.0">
Packit Service 963350
          <xsl:text>excellant</xsl:text>
Packit Service 963350
        </xsl:when>
Packit Service 963350
        <xsl:when test="@coverage >= 60.0">
Packit Service 963350
          <xsl:text>good</xsl:text>
Packit Service 963350
        </xsl:when>
Packit Service 963350
        <xsl:when test="@coverage >= 40.0">
Packit Service 963350
          <xsl:text>poor</xsl:text>
Packit Service 963350
        </xsl:when>
Packit Service 963350
        <xsl:when test="@coverage >= 20.0">
Packit Service 963350
          <xsl:text>bad</xsl:text>
Packit Service 963350
        </xsl:when>
Packit Service 963350
        <xsl:otherwise>
Packit Service 963350
          <xsl:text>terrible</xsl:text>
Packit Service 963350
        </xsl:otherwise>
Packit Service 963350
      </xsl:choose>
Packit Service 963350
    </xsl:variable>
Packit Service 963350
    
Packit Service 963350
    <xsl:value-of select="@coverage"/>% of <xsl:value-of select="@count"/>
Packit Service 963350
  </xsl:template>
Packit Service 963350

Packit Service 963350
</xsl:stylesheet>