Files
Orchard/lib/specflow/TechTalk.SpecFlow.Reporting.dll

1820 lines
70 KiB
Plaintext
Raw Normal View History

MZ<EFBFBD><00><><00>@<00><1F><00> <09>!<21>L<>!This program cannot be run in DOS mode.
$PEL<0E>K<00>! .- @@ <00><00><>@<40><00>,K@<00>` h,  H.text4   `.rsrc<00>@@@.reloc `@B-H<00><><00>H <00>?<08>P <00><00><><16><><EFBFBD><02><><EFBFBD>#j~/<2F>!<21><>/<1B>C<EFBFBD><16>1|g<><67>I<EFBFBD>VB5<42><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD>6<EFBFBD><36><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD><4A><EFBFBD>ٿR<D9BF><52><EFBFBD><EFBFBD><EFBFBD>K<EFBFBD>1<EFBFBD><31>z<EFBFBD><7A>}<7D><>sy<73><79>Y<1C><><EFBFBD>1<EFBFBD>Q<EFBFBD><51>j<EFBFBD>~<7E><><EFBFBD>}<05>"<22><>L,<2C><><EFBFBD>Y<EFBFBD>otQ<74>9<EFBFBD><39><EFBFBD>ce<13><><EFBFBD><05><><EFBFBD>9s>0hNs
}(
*0o
o
o
<EFBFBD>
+*<2A><00>(
rp$(
<16>o
&*(
*(
*<2A>(
} (&} } *~(
} } } *0s8}
{
{ o
}+{
(
r7p(!
("
},(

{
o#
}-{ ($
<16>:<3A>{ s%
r;p s&
+MrKpo'
<16>-+ ( <18>C*<2A> <20>o(
+ o)
o*
%<14><16>-<2D> ( <00><14>-o+
<00>*<00>}<7D>0Po,
<16><16> ->{
{.s
}(-
o.
(/
}o0
o1
*0bs2
s3
s4
rSprUpo5
{ s6
s7
(8
o9
<00><14>-o+
<00> + *= I0W<00>(
rips:
(0<16> -{
(1+!{
(
{ o;
(2*0]s
}(
(&}{(!}{o<
(=
{(U}}*<2A>s
}(
}}}}*0<00>s}{{o
}{(
  r7p(!
("
}{{}s>
}s?
}{o@
 +c (A
s  s( o@}&}oD}{oB
{oC
{{oD
 (E
-<2D><> <0A>o+
<00>{oF
8 (G
s

oH
}
oI
}
 oJ
<14>-0sr<>p} oJ
oK
( oL
8<><11>s  oM
} oN
,oN
{O
+}  u <14><16>-!t ((+oP
(X<10>i<EFBFBD>:_<><5F><EFBFBD>(Q
:<3A><><EFBFBD><EFBFBD><EFBFBD><0F>
o+
<00>{{oR
+F(S
{<14><16>-
({oT
<16><16>- }(U
-<2D><><12> o+
<00>{ + *ALzt<00> 7CfW<00>0<00>oV
oW
8<><06>
oX
oY
+i<08> sZ
 +1oX
o[
o\
<09>o]
o\
<09>o]
o^
X oX
o[
o\
<EFBFBD>i<EFBFBD>  -<2D>(<04>/<07>i<EFBFBD>  -<2D>X<05>i<EFBFBD>  :W<><57><EFBFBD>s_
+*0 s_
oP
o`
8<>(a
( ob
(oc
od
(oe
of
<14>-rof
oY
 +O <09> o\

 +%
 <0B>o]
(og
 X  
<EFBFBD>i<EFBFBD>-<2D> X  <08>i<EFBFBD>-<2D>oh
(i
:-<2D><><EFBFBD><EFBFBD><06>o+
<00>+*<00><>0r
, <14><16>+ - +Zoj
+/(k
r<>p(l
r<EFBFBD>p(m
(n
oo
(p
-<2D><><03>o+
<00> +*>\0<00> {oq
<14><16>(r
{ ,Pr<>p(s
-r<>p(s
-r<>p(s
-+'st
}+ su
}+sv
}+sw
z{(oc
*0<00> sx
oy
oz
Y +fY oH<06>i/r<>poH<08>r<EFBFBD>p(m
+r<>p oy
o{
o|
o}
o~
&o|
o
&Y <17><16>-<2D>o<>
+*(
*0N {={>oH<06>i/.r<>p{>oH%{=% X}=<07>r<EFBFBD>p(m
+r<>p
+*0fsX }>{>oFo<>
<18>C$<24>^<5E>o(
r<EFBFBD>ps<70>
}=<08>Ys<>
o<EFBFBD>
 + *0W<00>(
rips:
(0<16> -{(1+!{(
{o;
(2*(
*0 o<>
+*0 {ob
{?ob
o<EFBFBD>
+*09rSp
o<>
  sZ 8<>  o<>
}? {?uX-" {?uY- {?uZ<14><16>+- {?o
o<EFBFBD>
 {o@
8<>(A
oD(<28>
<16>-8yoF {?ob
o<EFBFBD>
o<>
-8Ps'  }!  {?}% }" }#  oy
(+(+~-<14>s<>
<EFBFBD>+~(+(+<05>i<16><16>-fs<>
}$+8{$soH<06>}<06>}o<>
X<05>ioH<06>i(<28>
<EFBFBD>-<2D>{o<>
{o<>
{<14><16>-8 {?(}{{ob
(oc
 +(E
:T<><54><EFBFBD><EFBFBD><0F>o+
<00>:<3A>{ - <0C>[s<>
 + (+<14><16>-Gs } {?(}{oD
{{oD
s'

}!
 {?}%
}"
}#
{o<>
 o<>
:<3A><><EFBFBD><EFBFBD><EFBFBD> <14>- o+
<00>*A4<00><00>:#0<00>
uX<14><16> -st
+^uY<14><16> -su
+FuZ<14><16> -sv
+.ui<14><16> -s<>
+uj<14><16> -s<>
<14><16>(r
ob
oc
od
oe
of
(o<>
 +*0 (
+*0B<14><16> -
+0o[
(oY
<02>s<>
(+(+s<>
+*0s<>
o]
og
 +*0:o\
~-<14>s<>
<EFBFBD>+~(+( +s<>
+*0<00>
r<>p(s
<16> -st
+2r<>p(s
<16> -su
+r<>p(s
<16> -sv
<14><16>(r
ob
oc
od
oe
of
(o<>
 +*(
*(
*Ns<>
}(
*(
*0{@o<>
+*0Ds\
}@{@o<>
<06>]s<>
(
+{@o;
o<EFBFBD>
(" +*0<00>s<>
o<>
+Bo<>
s<>
s%
 o<>
o<>
<00> <14>- o+
<00>o<>
-<2D><><14>-o+
<00>+*)@Sc0Io<>
<17>C~<7E>
<EFBFBD>o<>
~<7E>
~<7E>
o<EFBFBD>
o<>
(<28>
s5 + *&} *(<28>
*0n(<28>
s<>
o<>
(<28>
s<>
o<>
(<28>
o<EFBFBD>
rpo<70>
o<EFBFBD>
r-po<70>
o<EFBFBD>
rIpo<70>
( +rSpo<70>
( +( + o<>
 8<> o<>
o<>
(<28>
rcpo<>
<16>

-Co<>
s<EFBFBD>
rupo<70>
(<28>


-
o<>
o<>
o<>
o<>
(<28>
r<EFBFBD>po<>
<16>

-o;
o<>
(=
(<28>
 o<>


:C<><43><EFBFBD><EFBFBD> <14>

- o+
<00>+*<00><00>Q(
*(
*0Y<17>C ,<2C> o<>
<16> (=
r<EFBFBD>p(<28>
(<28>
<0C>"&(=
r<EFBFBD>p(<28>
(<28>
<0C>& <0C>*6P4"0@ +# <04>
() <14>- <0C>X <09>i<EFBFBD>-<2D> +*:(<28>
(,*0s.
<06>/s<>
o<EFBFBD>
*(
*F(
}'*0Fo<>
{'(* r<>p,o<>
s<EFBFBD>
(<28>
+rp(<28>
(<28>
 +*0(<28>
r%po<>
+*09r%p(<28>
(<28>
s<EFBFBD>
o<>
<00><14> -o+
<00>* '0<00>s<>
o<>
s<>
s<>
s% o<>
r/prSpoo
rCp(<28>
s4 o<>
<00><14>  -o+
<00>o<>
s<EFBFBD>
s<EFBFBD>
s<>
rOprSpo<>
o<EFBFBD>
o<EFBFBD>
rqprSpo<>
o<EFBFBD>
o<EFBFBD>
s<>
 (3<00><14>  -o+
<00>*O^<00><12>0<00>o
r<EFBFBD>p$o<>
o<>
o
r<EFBFBD>p<1A><16>(
<EFBFBD><17>(
<EFBFBD><18>(
<EFBFBD><19>(
<EFBFBD>o<>
<1A><03><04><04><05>o
&<00> o<>
( z*m+<2B><12><01>o<>
o<>
~<7E>
<EFBFBD>C(<28>
(5*0N(6(<28>
(<28>
~<7E>
~<7E>
o<EFBFBD>
(<28>
(<28>
r<>po<>
o<EFBFBD>
(<28>
}(*0+ o<>
<14><16> -r<>p(<28>
s<EFBFBD>
z +*0 {(
+*Ns<>
}.(
*0 {/
+*"}/*0 !{0
+*"}0*0 !{1
+*"}1*(
*0 {2
+*"}2*0 "{3
+*"}3*0 {4
+*"}4*0 #{5
+*"}5*0 ${6
+*"}6*0 {7
+*"}7*0 {8
+*"}8*(
*09%(<28>
rp(<28>
r+po<>
}9rqpo<>
}:*0I&o<>
 +/ <09>
{9(<28>
<14><16>-+
(Q X <08>i<EFBFBD>-<2D>*0q'<o<>
+S <04>
{:(<28>
<14>-/+<07> (RX<06>i<EFBFBD>-<2D>X <09>i<EFBFBD>-<2D>*0o<>
o<EFBFBD>
+*0 o
+*0 (r<>pr<>p( +r<>p(m
s
o
<07>i,<07>iY<>o<EFBFBD>
o<EFBFBD>
r<EFBFBD>p(s
+ sN(SoEoGr<>po
o
o<>
r<EFBFBD>p~;-<14>Vs
<EFBFBD>;+~;(+(+(/
(
oA~<-<14>Ws
<EFBFBD><+~<(+(+oIoKoM  o
*0))o
o<EFBFBD>
o
rpo
Yo 
+*0*(<28>
s

(P +*0<00>+s

( 
o 
(<28>
s 
o
rp(
<17>B<03>(, ( 
o<EFBFBD>
o
<EFBFBD>(
o
o
to
oTo
(
+*A<?xml version="1.0" encoding="utf-8"?>
<!-- to be finished and used from -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:sfr="urn:TechTalk:SpecFlow.Report"
exclude-result-prefixes="msxsl">
<xsl:param name="feature-language" select="'en'" />
<xsl:param name="languages" select="document('Languages.xml')" />
<xsl:template name="get-keyword">
<xsl:param name="keyword" />
<xsl:param name="language">
<xsl:choose>
<xsl:when test="ancestor::sfr:Feature[1]/sfr:Language">
<xsl:value-of select="ancestor::sfr:Feature[1]/sfr:Language"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$feature-language" />
</xsl:otherwise>
</xsl:choose>
</xsl:param>
<xsl:variable name="local-keyword">
<xsl:choose>
<xsl:when test="$languages//Language[@code = $language]">
<xsl:value-of select="$languages//Language[@code = $language]/node()[local-name() = $keyword]"/>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="base-language" select="substring-before($language, '-')" />
<xsl:value-of select="$languages//Language[@code = $base-language]/node()[local-name() = $keyword]"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:value-of select="$local-keyword"/>
</xsl:template>
<xsl:template match="sfr:ScenarioStep">
<xsl:variable name="step-id" select="generate-id()" />
<xsl:variable name="step-keyword" select="@xsi:type" />
<span id="txt{$step-id}">
<span class="stepKeyword">
<xsl:call-template name="get-keyword">
<xsl:with-param name="keyword" select="$step-keyword" />
</xsl:call-template>
</span>
<xsl:text> </xsl:text>
<xsl:apply-templates select="sfr:Text" />
</span>
<xsl:apply-templates select="." mode="clipboardCopy"/>
<xsl:apply-templates select="sfr:TableArg" />
<xsl:apply-templates select="sfr:MultiLineTextArgument" />
</xsl:template>
<xsl:template match="sfr:ScenarioStep" priority="-0.5" mode="clipboardCopy">
<!-- nop -->
</xsl:template>
<xsl:template match="sfr:Text" priority="-0.1">
<xsl:value-of select="string(node())"/>
</xsl:template>
<xsl:template match="sfr:TableArg">
<xsl:variable name="table-id" select="concat('tbl', generate-id(..))" />
<table class="tableArg" id="{$table-id}" cellpadding="0" cellspacing="0">
<tr>
<xsl:for-each select="sfr:Header/sfr:Cells/sfr:Cell">
<th>
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="position()=1">left top</xsl:when>
<xsl:otherwise>top</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:value-of select="sfr:Value"/>
</th>
</xsl:for-each>
</tr>
<xsl:for-each select="sfr:Body/sfr:Row">
<tr>
<xsl:for-each select="sfr:Cells/sfr:Cell">
<td>
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="position()=1">left</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:value-of select="sfr:Value"/>
</td>
</xsl:for-each>
</tr>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template match="sfr:MultiLineTextArgument">
<pre>
<xsl:value-of select="."/>
</pre>
</xsl:template>
</xsl:stylesheet>
<00>#<?xml version="1.0" encoding="utf-8"?>
<!-- to be finished and used from -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:sfr="urn:TechTalk:SpecFlow.Report"
exclude-result-prefixes="msxsl">
<xsl:param name="tool-language" select="'en'" />
<xsl:param name="base-tool-language" select="substring-before($tool-language, '-')" />
<xsl:include href="GherkinElements.xslt"/>
<xsl:param name="common-tool-text">
<Language code="en">
<GeneratedByPre>Generated by SpecFlow at </GeneratedByPre>
<GeneratedByPost></GeneratedByPost>
<See>see </See>
<Show>show</Show>
<Hide>hide</Hide>
<Copy>copy</Copy>
</Language>
<Language code="de">
<GeneratedByPre>Erstellt durch SpecFlow am </GeneratedByPre>
<GeneratedByPost></GeneratedByPost>
<See></See>
<Show>anzeigen</Show>
<Hide>ausblenden</Hide>
<Copy>kopieren</Copy>
</Language>
</xsl:param>
<xsl:template name="get-common-tool-text">
<xsl:param name="text-key" />
<xsl:call-template name="get-tool-text-base">
<xsl:with-param name="text-key" select="$text-key" />
<xsl:with-param name="local-tool-texts" select="msxsl:node-set($common-tool-text)" />
</xsl:call-template>
</xsl:template>
<xsl:template name="get-tool-text-base">
<xsl:param name="text-key" />
<xsl:param name="local-tool-texts" />
<xsl:choose>
<xsl:when test="$local-tool-texts//Language[@code = $tool-language]">
<xsl:value-of select="$local-tool-texts//Language[@code = $tool-language]/node()[local-name() = $text-key]"/>
</xsl:when>
<xsl:when test="$local-tool-texts//Language[@code = $base-tool-language]">
<xsl:value-of select="$local-tool-texts//Language[@code = $base-tool-language]/node()[local-name() = $text-key]"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$local-tool-texts//Language[@code = 'en']/node()[local-name() = $text-key]"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="sfr:ScenarioStep" priority="-0.1" mode="clipboardCopy">
<xsl:variable name="step-id" select="generate-id()" />
<xsl:text> </xsl:text>
<a href="#" onclick="copyStepToClipboard('{$step-id}'); return false;" class="button">[<xsl:call-template name="get-common-tool-text">
<xsl:with-param name="text-key" select="'Copy'" />
</xsl:call-template>]</a>
</xsl:template>
<xsl:template name="html-common-header">
<xsl:param name="title" />
<xsl:comment>Generated by SpecFlow (see http://www.specflow.org/)</xsl:comment>
<title>
<xsl:value-of select="$title"/>
</title>
<style>
<![CDATA[
body
{
font: small verdana, arial, helvetica; color:#000000;
}
h1
{
font-size: 16px;
}
h2
{
font-size: 14px;
}
h3
{
font-size: 12px;
}
div.marker
{
height: 1.1em;
width: 1.1em;
float:left;
margin-right: 0.3em;
}
table.reportTable
{
width: 100%;
font-size: 12px;
}
table.subReportTable
{
font-size: 12px;
margin-left: 2em;
}
td, th
{
text-align: left;
border-bottom: solid 1px #dcdcdc;
border-right: solid 1px #dcdcdc;
padding-left: 0.5em;
padding-right: 0.5em;
padding-top: 0.25em;
padding-bottom: 0.25em;
}
th
{
background-color: #FFF2E5;
padding-top: 0.4em;
padding-bottom: 0.4em;
}
.top
{
border-top: solid 1px #dcdcdc;
}
.left
{
border-left: solid 1px #dcdcdc;
}
td.accessPath, th.accessPath
{
padding-left: 1.0em;
}
td.accessPath
{
font-style:italic;
}
td.empty
{
border: none;
height: 2.0em;
}
td.numeric
{
text-align: right;
}
td.marker
{
white-space: nowrap;
}
td.subRow
{
padding-left: 2em;
}
div.legend
{
margin-top: 2em;
padding-left: 2em;
font-style:italic;
font-size: 10px;
}
a.button
{
}
.hidden
{
display: none;
}
// gherkin elements style
table.tableArg
{
font-size: 12px;
margin-left: 2em;
}
table.tableArg th
{
background-color: #BBFFBB;
}
.stepKeyword
{
font-style:italic;
}
.stepParam
{
font-style:italic;
color: Green;
}
]]></style>
<script>
var showButtonText = "[<xsl:call-template name="get-common-tool-text">
<xsl:with-param name="text-key" select="'Show'" />
</xsl:call-template>]";
var hideButtonText = "[<xsl:call-template name="get-common-tool-text">
<xsl:with-param name="text-key" select="'Hide'" />
</xsl:call-template>]";
<![CDATA[
function toggle(sdid){
e=window.event.srcElement;
toToggle=document.getElementById(sdid);
if (e.innerText==showButtonText)
{
e.innerText=hideButtonText;
toToggle.style.display="block";
}
else
{
e.innerText=showButtonText;
toToggle.style.display="none";
}
}
function copyToClipboard(s)
{
clipboardData.setData("Text", s);
}
]]>
</script>
</xsl:template>
<xsl:template name="html-copy-step-to-clipboard-script">
<script>
<![CDATA[
function copyStepToClipboard(stepId)
{
e=window.event.srcElement;
text=document.getElementById("txt" + stepId);
tableArg=document.getElementById("tbl" + stepId);
result = text.innerText;
if (tableArg != null)
{
result += "\r\n";
result += getTableSource(tableArg);
}
copyToClipboard(result);
}
function getTableSource(table)
{
indent = " ";
header = table.rows(0).cells;
rows = table.rows;
columnWidths = new Array();
for (colIndex = 0; colIndex < header.length; colIndex++)
columnWidths[colIndex] = header[colIndex].innerText.length;
for (rowIndex = 1; rowIndex < rows.length; rowIndex++)
{
row = rows[rowIndex].cells;
for (colIndex = 0; colIndex < header.length; colIndex++)
if (row[colIndex].innerText.length > columnWidths[colIndex])
columnWidths[colIndex] = row[colIndex].innerText.length;
}
tableSource = "";
for (rowIndex = 0; rowIndex < rows.length; rowIndex++)
{
row = rows[rowIndex].cells;
tableSource = tableSource + indent + "|";
for (colIndex = 0; colIndex < header.length; colIndex++)
{
tableSource = tableSource + " ";
tableSource = tableSource + row[colIndex].innerText;
for (i = row[colIndex].innerText.length; i < columnWidths[colIndex]; i++)
tableSource = tableSource + " ";
tableSource = tableSource + " |";
}
tableSource = tableSource + "\r\n";
}
return tableSource;
}
]]>
</script>
</xsl:template>
<xsl:template name="html-body-header">
<xsl:param name="title" />
<xsl:param name="generatedAt" select="/*/@generatedAt" />
<h1>
<xsl:value-of select="$title"/>
</h1>
<xsl:call-template name="get-common-tool-text">
<xsl:with-param name="text-key" select="'GeneratedByPre'" />
</xsl:call-template>
<xsl:value-of select="$generatedAt"/>
<xsl:call-template name="get-common-tool-text">
<xsl:with-param name="text-key" select="'GeneratedByPost'" />
</xsl:call-template>
<xsl:text> (</xsl:text>
<xsl:call-template name="get-common-tool-text">
<xsl:with-param name="text-key" select="'See'" />
</xsl:call-template>
<a href="http://www.specflow.org/">http://www.specflow.org/</a>).
</xsl:template>
</xsl:stylesheet>
<00>.<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:sfr="urn:TechTalk:SpecFlow.Report"
exclude-result-prefixes="msxsl">
<xsl:output method="html" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/>
<xsl:include href="..\Common\Common.xslt"/>
<xsl:param name="tool-text">
<Language code="en">
<Title>Step Definition Report</Title>
<Givens>Givens</Givens>
<Whens>Whens</Whens>
<Thens>Thens</Thens>
<StepDefinition>Step Definition</StepDefinition>
<Instances>Instances</Instances>
<BindingsWithoutInstancesMessage>Bindings without instances are not included in this report.</BindingsWithoutInstancesMessage>
<ParameterValuesPre>Used values for parameter </ParameterValuesPre>
<ParameterValuesPost>:</ParameterValuesPost>
<ScenarioOutlineExampleMessage>(scenario outline example)</ScenarioOutlineExampleMessage>
</Language>
<Language code="de">
<Title>Auflistung der Step Definitionen</Title>
<Givens>Gegeben Steps</Givens>
<Whens>Wenn Steps</Whens>
<Thens>Dann Steps</Thens>
<StepDefinition>Step Definition</StepDefinition>
<Instances>Instanzen</Instances>
<BindingsWithoutInstancesMessage>Bindings ohne Instanzen sind in diesem Report nicht aufgeführt.</BindingsWithoutInstancesMessage>
<ParameterValuesPre>Verwendete Parameterwerte </ParameterValuesPre>
<ParameterValuesPost>:</ParameterValuesPost>
<ScenarioOutlineExampleMessage>(Szenariogrundriss Beispiel)</ScenarioOutlineExampleMessage>
</Language>
</xsl:param>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template name="get-tool-text">
<xsl:param name="text-key" />
<xsl:call-template name="get-tool-text-base">
<xsl:with-param name="text-key" select="$text-key" />
<xsl:with-param name="local-tool-texts" select="msxsl:node-set($tool-text)" />
</xsl:call-template>
</xsl:template>
<xsl:key name="step-usage-variation" match="sfr:Instance" use="normalize-space(string(sfr:ScenarioStep))"/>
<xsl:template match="/">
<xsl:variable name="title">
<xsl:call-template name="get-tool-text">
<xsl:with-param name="text-key" select="'Title'" />
</xsl:call-template>
<xsl:text> - </xsl:text>
<xsl:value-of select="sfr:StepDefinitionReport/@projectName"/>
</xsl:variable>
<html>
<head>
<xsl:call-template name="html-common-header">
<xsl:with-param name="title" select="$title" />
</xsl:call-template>
<style>
<![CDATA[
a.instanceRef
{
font-size: 10px;
margin-left: 2em;
}
.noBinding td
{
background-color: #FFFFBB;
}
.noInstances td
{
background-color: #FFBBBB;
}
]]>
</style>
<xsl:call-template name="html-copy-step-to-clipboard-script" />
</head>
<body>
<xsl:call-template name="html-body-header">
<xsl:with-param name="title" select="$title" />
</xsl:call-template>
<xsl:if test="(/sfr:StepDefinitionReport/@showBindingsWithoutInsance!='true')">
<div class="legend">
<xsl:call-template name="get-tool-text">
<xsl:with-param name="text-key" select="'BindingsWithoutInstancesMessage'" />
</xsl:call-template>
</div>
</xsl:if>
<h2>
<xsl:call-template name="get-tool-text">
<xsl:with-param name="text-key" select="'Givens'" />
</xsl:call-template>
</h2>
<xsl:call-template name="process-block">
<xsl:with-param name="block-name" select="'Given'" />
</xsl:call-template>
<h2>
<xsl:call-template name="get-tool-text">
<xsl:with-param name="text-key" select="'Whens'" />
</xsl:call-template>
</h2>
<xsl:call-template name="process-block">
<xsl:with-param name="block-name" select="'When'" />
</xsl:call-template>
<h2>
<xsl:call-template name="get-tool-text">
<xsl:with-param name="text-key" select="'Thens'" />
</xsl:call-template>
</h2>
<xsl:call-template name="process-block">
<xsl:with-param name="block-name" select="'Then'" />
</xsl:call-template>
</body>
</html>
</xsl:template>
<xsl:template name="process-block">
<xsl:param name="block-name" />
<table class="reportTable" cellpadding="0" cellspacing="0">
<tr>
<th class="top left">
<xsl:call-template name="get-tool-text">
<xsl:with-param name="text-key" select="'StepDefinition'" />
</xsl:call-template>
</th>
<th class="top">
<xsl:call-template name="get-tool-text">
<xsl:with-param name="text-key" select="'Instances'" />
</xsl:call-template>
</th>
</tr>
<xsl:for-each select="sfr:StepDefinitionReport/sfr:StepDefinition[@type=$block-name]">
<xsl:sort order="ascending" select="sfr:ScenarioStep/sfr:Text" data-type="text"/>
<xsl:if test="(/sfr:StepDefinitionReport/@showBindingsWithoutInsance='true') or sfr:Instances">
<xsl:variable name="stepdef-id" select="generate-id()" />
<tr>
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="not(sfr:Binding)">noBinding</xsl:when>
<xsl:when test="not(sfr:Instances)">noInstances</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<td class="left">
<xsl:apply-templates select="sfr:ScenarioStep" />
</td>
<td>
<xsl:value-of select="count(./sfr:Instances/sfr:Instance)"/>
<xsl:if test="sfr:Instances">
<xsl:text> </xsl:text>
<a href="#" onclick="toggle('{$stepdef-id}'); return false;" class="button">[<xsl:call-template name="get-common-tool-text">
<xsl:with-param name="text-key" select="'Show'" />
</xsl:call-template>]</a>
</xsl:if>
</td>
</tr>
<xsl:if test="sfr:Instances">
<tr id="{$stepdef-id}" class="hidden">
<td class="left" colspan="2">
<table class="subReportTable" cellpadding="0" cellspacing="0">
<tr>
<th class="top left">
<xsl:call-template name="get-tool-text">
<xsl:with-param name="text-key" select="'Instances'" />
</xsl:call-template>
<xsl:text>:</xsl:text>
</th>
</tr>
<xsl:for-each select="sfr:Instances/sfr:Instance">
<xsl:variable name="current-key" select="normalize-space(string(sfr:ScenarioStep))" />
<xsl:if test="generate-id() = generate-id(key('step-usage-variation', $current-key))">
<tr>
<td class="left">
<!--<xsl:value-of select="count(key('step-usage-variation', $current-key))"/>-->
<xsl:apply-templates select="sfr:ScenarioStep" />
<br/>
<xsl:for-each select="../sfr:Instance[normalize-space(string(sfr:ScenarioStep)) = $current-key]">
<xsl:apply-templates select="." mode="instance-ref" />
<br/>
</xsl:for-each>
</td>
</tr>
</xsl:if>
</xsl:for-each>
</table>
</td>
</tr>
</xsl:if>
</xsl:if>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template match="sfr:Instance" mode="instance-ref">
<b>
<a class="instanceRef" href="{sfr:FeatureRef/@file}" title="{sfr:FeatureRef/@file}, line {sfr:ScenarioRef/@line}">
<xsl:value-of select="sfr:FeatureRef/@name"/>
<xsl:text> / </xsl:text>
<xsl:value-of select="sfr:ScenarioRef/@name"/>
<xsl:if test="@fromScenarioOutline = 'true'">
<xsl:text> </xsl:text>
<xsl:call-template name="get-tool-text">
<xsl:with-param name="text-key" select="'ScenarioOutlineExampleMessage'" />
</xsl:call-template>
</xsl:if>
</a>
</b>
</xsl:template>
<xsl:template name="step-param">
<xsl:param name="param-name" select="@name" />
<xsl:param name="instances-root" select="../../sfr:Instances" />
<xsl:variable name="param-sample">
<xsl:choose>
<xsl:when test="$instances-root/sfr:Instance/sfr:Parameters/sfr:Parameter[@name=$param-name]">
<xsl:value-of select="$instances-root/sfr:Instance/sfr:Parameters/sfr:Parameter[@name=$param-name]"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>{</xsl:text>
<xsl:value-of select="$param-name"/>
<xsl:text>}</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="param-values">
<xsl:call-template name="get-tool-text">
<xsl:with-param name="text-key" select="'ParameterValuesPre'" />
</xsl:call-template>
<xsl:text>'</xsl:text><xsl:value-of select="$param-name"/>
<xsl:text>'</xsl:text>
<xsl:call-template name="get-tool-text">
<xsl:with-param name="text-key" select="'ParameterValuesPost'" />
</xsl:call-template>
<xsl:text>
</xsl:text>
<xsl:for-each select="$instances-root/sfr:Instance/sfr:Parameters/sfr:Parameter[@name=$param-name]">
<xsl:variable name="param-value" select="string(text())" />
<xsl:if test="not(../../preceding-sibling::sfr:Instance[string(sfr:Parameters/sfr:Parameter[@name=$param-name]/text())=$param-value])">
<xsl:value-of select="text()"/>
<xsl:text>
</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<span class="stepParam" title="{$param-values}">
<xsl:value-of select="$param-sample"/>
</span>
</xsl:template>
<xsl:template match="sfr:Text">
<xsl:call-template name="display-text">
<xsl:with-param name="text" select="string(node())" />
</xsl:call-template>
</xsl:template>
<xsl:template name="display-text">
<xsl:param name="text" />
<xsl:choose>
<xsl:when test="contains($text, '{')">
<xsl:value-of select="substring-before($text, '{')" />
<xsl:variable name="rest" select="substring-after($text, '{')" />
<xsl:call-template name="step-param">
<xsl:with-param name="param-name" select="substring-before($rest, '}')" />
</xsl:call-template>
<xsl:call-template name="display-text">
<xsl:with-param name="text" select="substring-after($rest, '}')" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$text"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
<00> <?xml version="1.0" encoding="utf-8" ?>
<SpecFlowLanguages>
<Language code="en" defaultSpecificCulture="en-US">
<Feature>Feature</Feature>
<Background>Background</Background>
<Scenario>Scenario</Scenario>
<ScenarioOutline>Scenario Outline</ScenarioOutline>
<Examples>Examples</Examples>
<Examples>Scenarios</Examples>
<Given>Given</Given>
<When>When</When>
<Then>Then</Then>
<And>And</And>
<But>But</But>
</Language>
<Language code="de" defaultSpecificCulture="de-DE">
<Feature>Funktionalität</Feature>
<Background>Grundlage</Background>
<Scenario>Szenario</Scenario>
<ScenarioOutline>Szenariogrundriss</ScenarioOutline>
<Examples>Beispiele</Examples>
<Given>Gegeben sei</Given>
<When>Wenn</When>
<Then>Dann</Then>
<And>Und</And>
<But>Aber</But>
</Language>
<Language code="fr" defaultSpecificCulture="fr-FR">
<Feature>Fonctionnalité</Feature>
<Background>Contexte</Background>
<Scenario>Scénario</Scenario>
<ScenarioOutline>Plan du Scénario</ScenarioOutline>
<Examples>Exemples</Examples>
<Given>Soit</Given>
<When>Lorsque</When>
<Then>Alors</Then>
<And>Et</And>
<But>Mais</But>
</Language>
<Language code="hu" defaultSpecificCulture="hu-HU">
<Feature>Jellemző</Feature>
<Background>Háttér</Background>
<Scenario>Forgatókönyv</Scenario>
<ScenarioOutline>Forgatókönyv vázlat</ScenarioOutline>
<Examples>Példák</Examples>
<Given>Ha</Given>
<When>Majd</When>
<Then>Akkor</Then>
<And>És</And>
<But>De</But>
</Language>
<Language code="nl" defaultSpecificCulture="nl-NL">
<Feature>Functionaliteit</Feature>
<Background>Achtergrond</Background>
<Scenario>Scenario</Scenario>
<ScenarioOutline>Abstract Scenario</ScenarioOutline>
<Examples>Voorbeelden</Examples>
<Given>Gegeven</Given>
<When>Als</When>
<Then>Dan</Then>
<And>En</And>
<But>Maar</But>
</Language>
<Language code="sv" defaultSpecificCulture="sv-SE">
<Feature>Egenskap</Feature>
<Background>Bakgrund</Background>
<Scenario>Scenario</Scenario>
<ScenarioOutline>Abstrakt Scenario</ScenarioOutline>
<Examples>Exempel</Examples>
<Given>Givet</Given>
<When>När</When>
<Then>Så</Then>
<And>Och</And>
<But>Men</But>
</Language>
</SpecFlowLanguages>
<00>8<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:sfr="urn:TechTalk:SpecFlow.Report"
xmlns:nunit="urn:NUnit"
exclude-result-prefixes="msxsl">
<xsl:output method="html" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/>
<xsl:include href="..\Common\Common.xslt"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:key name="step-usage-variation" match="sfr:Instance" use="normalize-space(string(sfr:ScenarioStep))"/>
<xsl:template match="/">
<xsl:variable name="title">
<xsl:value-of select="sfr:NUnitExecutionReport/@projectName"/> Test Execution Report
</xsl:variable>
<html>
<head>
<xsl:call-template name="html-common-header">
<xsl:with-param name="title" select="$title" />
</xsl:call-template>
<style>
<![CDATA[
.bar
{
height: 1.5em;
}
.success
{
background-color: #22dd22;
}
.failure
{
background-color: #dd2222;
}
.ignored
{
background-color: #ffff00;
}
.pending
{
background-color: #dd66ff;
}
.bar div
{
height: 1.5em;
float: left;
}
div.failurePanel
{
background-color: #DDDDDD;
}
span.traceMessage
{
font-style:italic;
margin-left: 2em;
color: #888888;
}
]]>
</style>
</head>
<body>
<xsl:call-template name="html-body-header">
<xsl:with-param name="title" select="$title" />
</xsl:call-template>
<h2>Summary</h2>
<xsl:variable name="summary">
<xsl:call-template name="get-summary" />
</xsl:variable>
<table class="reportTable" cellpadding="0" cellspacing="0">
<tr>
<th class="top left">Features</th>
<th class="top" colspan="2">Success rate</th>
<th class="top">Scenarios</th>
<th class="top">Success</th>
<th class="top">Failed</th>
<th class="top">Pending</th>
<th class="top">Ignored</th>
</tr>
<tr>
<td class="left">
<xsl:value-of select="count(//nunit:test-suite[(child::nunit:results/nunit:test-case)])"/> features
</td>
<xsl:call-template name="summary-row">
<xsl:with-param name="summary" select="$summary" />
</xsl:call-template>
</tr>
</table>
<hr />
<h2>Feature Summary</h2>
<table class="reportTable" cellpadding="0" cellspacing="0">
<tr>
<th class="top left">Feature</th>
<th class="top" colspan="2">Success rate</th>
<th class="top">Scenarios</th>
<th class="top">Success</th>
<th class="top">Failed</th>
<th class="top">Pending</th>
<th class="top">Ignored</th>
</tr>
<xsl:apply-templates select="//nunit:test-suite[(child::nunit:results/nunit:test-case)]" mode="summary" />
</table>
<h2>Feature Execution Details</h2>
<xsl:apply-templates select="//nunit:test-suite[(child::nunit:results/nunit:test-case)]" />
</body>
</html>
</xsl:template>
<xsl:template match="nunit:test-suite" mode="summary">
<xsl:variable name="featureSummary">
<xsl:call-template name="get-summary" />
</xsl:variable>
<xsl:variable name="feature-id" select="generate-id()" />
<tr>
<td class="left">
<a href="#{$feature-id}"><xsl:call-template name="get-name"/></a>
</td>
<xsl:call-template name="summary-row">
<xsl:with-param name="summary" select="$featureSummary" />
</xsl:call-template>
</tr>
</xsl:template>
<xsl:template name="summary-row">
<xsl:param name="summary" />
<td>
<xsl:call-template name="get-success-rate">
<xsl:with-param name="summary" select="$summary" />
</xsl:call-template>
</td>
<td style="width:21em">
<xsl:call-template name="draw-bar">
<xsl:with-param name="summary" select="$summary" />
</xsl:call-template>
</td>
<td>
<xsl:value-of select="msxsl:node-set($summary)/*/all"/>
</td>
<td>
<xsl:value-of select="msxsl:node-set($summary)/*/success"/>
</td>
<td>
<xsl:value-of select="msxsl:node-set($summary)/*/failure"/>
</td>
<td>
<xsl:value-of select="msxsl:node-set($summary)/*/pending"/>
</td>
<td>
<xsl:value-of select="msxsl:node-set($summary)/*/ignored"/>
</td>
</xsl:template>
<xsl:template match="nunit:test-suite">
<xsl:variable name="feature-id" select="generate-id()" />
<a name="{$feature-id}" />
<h3>Feature: <xsl:call-template name="get-name"/></h3>
<table class="reportTable" cellpadding="0" cellspacing="0">
<tr>
<th class="top left">Scenario</th>
<th class="top" style="width: 5em">Status</th>
<th class="top" style="width: 5em">Time(s)</th>
</tr>
<xsl:apply-templates select=".//nunit:test-case" />
</table>
</xsl:template>
<xsl:template match="nunit:test-case">
<xsl:variable name="scenarioSummary">
<xsl:call-template name="get-summary">
<xsl:with-param name="nodes" select="." />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="status" select="local-name(msxsl:node-set($scenarioSummary)/*/*[local-name()!='all' and text() = '1'])" />
<xsl:variable name="scenario-id" select="generate-id()" />
<xsl:variable name="testName" select="@name" />
<tr>
<td class="left">
<xsl:call-template name="get-name"/>
<xsl:if test="/sfr:NUnitExecutionReport/sfr:ScenarioOutput[@name = $testName]">
<xsl:text> </xsl:text>
<a href="#" onclick="toggle('out{$scenario-id}'); return false;" class="button">[show]</a>
</xsl:if>
</td>
<td class="{$status}">
<xsl:value-of select="$status"/>
<xsl:if test="$status = 'failure'">
<xsl:text> </xsl:text>
<a href="#" onclick="toggle('err{$scenario-id}'); return false;" class="button">[show]</a>
</xsl:if>
</td>
<td>
<xsl:choose>
<xsl:when test="@time">
<xsl:value-of select="@time"/>
</xsl:when>
<xsl:otherwise>N/A</xsl:otherwise>
</xsl:choose>
</td>
</tr>
<xsl:if test="/sfr:NUnitExecutionReport/sfr:ScenarioOutput[@name = $testName]">
<tr id="out{$scenario-id}" class="hidden">
<td class="left subRow" colspan="3">
<div class="failurePanel">
<pre>
<xsl:call-template name="scenario-output">
<xsl:with-param name="word" select="/sfr:NUnitExecutionReport/sfr:ScenarioOutput[@name = $testName]/sfr:Text"/>
</xsl:call-template>
</pre>
</div>
</td>
</tr>
</xsl:if>
<xsl:if test="$status = 'failure'">
<tr id="err{$scenario-id}" class="hidden">
<td class="left subRow" colspan="3">
<xsl:apply-templates select="nunit:failure" />
</td>
</tr>
</xsl:if>
</xsl:template>
<xsl:template match="nunit:failure">
<div class="failurePanel">
<xsl:choose>
<xsl:when test="not(nunit:message)">N/A</xsl:when>
<xsl:otherwise>
<b>
<xsl:call-template name="br-replace">
<xsl:with-param name="word" select="nunit:message"/>
</xsl:call-template>
</b>
</xsl:otherwise>
</xsl:choose>
<!-- display the stacktrace -->
<code>
<br/>
<xsl:call-template name="br-replace">
<xsl:with-param name="word" select="nunit:stack-trace"/>
</xsl:call-template>
</code>
</div>
</xsl:template>
<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>
<xsl:template name="scenario-output">
<xsl:param name="word"/>
<xsl:param name="traceMode" select="Normal" />
<xsl:choose>
<xsl:when test="contains($word,'&#xA;')">
<xsl:variable name="line" select="substring-before($word,'&#xA;')" />
<xsl:variable name="newTraceMode">
<xsl:call-template name="get-scenario-trace-mode">
<xsl:with-param name="text" select="$line" />
<xsl:with-param name="traceMode" select="$traceMode" />
</xsl:call-template>
</xsl:variable>
<xsl:call-template name="scenario-line-output">
<xsl:with-param name="text" select="$line" />
<xsl:with-param name="traceMode" select="$newTraceMode" />
</xsl:call-template>
<xsl:call-template name="scenario-output">
<xsl:with-param name="word" select="substring-after($word,'&#xA;')"/>
<xsl:with-param name="traceMode" select="$newTraceMode" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="newTraceMode">
<xsl:call-template name="get-scenario-trace-mode">
<xsl:with-param name="text" select="$word" />
<xsl:with-param name="traceMode" select="$traceMode" />
</xsl:call-template>
</xsl:variable>
<xsl:call-template name="scenario-line-output">
<xsl:with-param name="text" select="$word" />
<xsl:with-param name="traceMode" select="$newTraceMode" />
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="get-scenario-trace-mode">
<xsl:param name="text" />
<xsl:param name="traceMode" />
<xsl:choose>
<xsl:when test="starts-with($text, '->')">Trace</xsl:when>
<xsl:when test="$traceMode = 'Trace' and not(starts-with($text, ' '))">Normal</xsl:when>
<xsl:when test="$traceMode = 'Trace'">Trace</xsl:when>
<xsl:otherwise>Normal</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="scenario-line-output">
<xsl:param name="text" />
<xsl:param name="traceMode" />
<xsl:choose>
<xsl:when test="$traceMode = 'Trace'">
<span class="traceMessage">
<xsl:value-of select="$text"/>
</span>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$text"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="get-summary">
<xsl:param name="nodes" select=".//nunit:test-case" />
<testCaseSummary>
<all>
<xsl:value-of select="count($nodes)"/>
</all>
<success>
<xsl:value-of select="count($nodes[@executed = 'True' and @success='True'])"/>
</success>
<failure>
<xsl:value-of select="count($nodes[@executed = 'True' and @success='False' and nunit:failure])"/>
</failure>
<pending>
<xsl:value-of select="count($nodes[@executed = 'True' and @success='False' and not(nunit:failure)])"/>
</pending>
<ignored>
<xsl:value-of select="count($nodes[@executed = 'False'])"/>
</ignored>
</testCaseSummary>
</xsl:template>
<xsl:template name="get-success-rate">
<xsl:param name="summary" />
<xsl:value-of select="round(msxsl:node-set($summary)/*/success * 100 div msxsl:node-set($summary)/*/all)"/>
<xsl:text>%</xsl:text>
</xsl:template>
<xsl:template name="draw-bar">
<xsl:param name="summary" />
<xsl:variable name="testCount" select="msxsl:node-set($summary)/*/all" />
<xsl:variable name="successWidth" select="(msxsl:node-set($summary)/*/success * 20 div $testCount)" />
<xsl:variable name="failureWidth" select="(msxsl:node-set($summary)/*/failure * 20 div $testCount)" />
<xsl:variable name="pendingWidth" select="(msxsl:node-set($summary)/*/pending * 20 div $testCount)" />
<xsl:variable name="ignoredWidth" select="(msxsl:node-set($summary)/*/ignored * 20 div $testCount)" />
<div class="bar">
<xsl:if test="$successWidth != 0">
<div class="success" style="width:{$successWidth}em" title="{msxsl:node-set($summary)/*/success} succeeded">
</div>
</xsl:if>
<xsl:if test="$failureWidth != 0">
<div class="failure" style="width:{$failureWidth}em" title="{msxsl:node-set($summary)/*/failure} failed">
</div>
</xsl:if>
<xsl:if test="$pendingWidth != 0">
<div class="pending" style="width:{$pendingWidth}em" title="{msxsl:node-set($summary)/*/pending} pending/not bound">
</div>
</xsl:if>
<xsl:if test="$ignoredWidth != 0">
<div class="ignored" style="width:{$ignoredWidth}em" title="{msxsl:node-set($summary)/*/ignored} ignored">
</div>
</xsl:if>
</div>
</xsl:template>
<xsl:template name="get-name">
<xsl:choose>
<xsl:when test="./@description">
<span title="{@name}">
<xsl:value-of select="./@description"/>
</span>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="./@name"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
BSJB v2.0.50727lP#~<00><00>#Strings<00>78#US<00>;#GUID<00>;<00> #BlobW<1D> <00>3<00>@]iZ+ 
<00><02>
<00><02>
<00><02><00><02>8c<03><00><03>
R<04><00><04><00>A<05>O<05><00><05><00><00><05><06><06>lW<00>x<00><06>6<06>&Y<07>o<07>
<00><07><00><07>
<08>
#<08>
-<08>H>
<00><08><00> <09><00> <00> <0B>R <0A> 9Vm<00><00><00><00><00>I*]*~k<0F><00><00><0F><00><0F> <10>
<10>
/<10>
@<10>
V<10>r<00><10><00><00><00><10> <11>
$<11>C>O>\<11>n<11>|><00><11><00><11>
<00><11>
<00><11>
<00><11>
<12>
#<12>
4<12>v><00><00><12><00><12>d<02><13><13>T<13>+<00><00><00>k<14><14><14>"<14>H<V<14>q<14>w<14><00><14>6<15>d<15><00><00><00><15><00><15> <16>!<16>-<16>1<16>
<00><16><00><16> <17><00><17><00><17>F<18>m<18><00><18><00><18>=<19>e<19><00><<00>><00>><00>>
<00><19><00>>>)>2>=c<00><00><1B><1C>K4*?<00><00><00>?<00>?<00><00>
0 a?kz<00>? <00><00><01> !<00><01> #<00><00><01>!&<00>?!'?&(<02>') !'.<00>2<02>(0=<02> (4Oz)8 d<02>/9 q<02>2@}<02>9O<00>=X<00>?Z<00>@\V<><56>
<00>
<00>
F?I<00>
<00>
<00>
<00>c<00>f!<00>s!

!
!<00>s!<00><04>!<00><04>!<00>F<00><03> <05><05>!+I=#`O<00>
+
<00>
1
6
A<00>E;I<00>l<00>F<00><00><00><00><00><06><00>E
c<07>!Y
V<><56>
V<><56>
<00>
<00>
<00>!<00>%
 c6 cT
u
`<00>
<00>
d<00>
<EFBFBD><00>
F F!d }!y }4<1B> |<1B> <00>c<00> <0C><00>E<00>s<00> <00>OQ<00> <00>UU!<00>m]4!<00>OQ<!<00>OQD!<00>Owi!<00>O~<00>!<00>2Q
<00>"<00>A<04>
#<00>^<04> <00>#<00>p<04> <00>#<00>O<03> e$<00>O<03><00>$<00>2<04><00>'<00>_<05><00>(<00><05><00>)<00><00><05>\*<00><00><00>*<00><00>,<00><00>t,<00>p<04>$-<00><00>0<00>$#<00>1<00>+$<00>1<00>2%@2<00>#9&<00>,<00>(h1<00>B2)<00>1<00>QF*<00>2<00>OQ+<00>2<00>OQ+<00>2<00>OQ+(3<00>EQ+x3<00>E\, 4<00><00>p.u4<00><08>y14<00>OQ2<00>4<00><00><06>26<00>OQ36<00>OQ3$6<00>/<07>3<00>6<00>/<07>5<00>6<00>@<07>77<00>@<07>8,7<00>OQ:47<00>O<03>:H7<00><00><07>;<00>7<00><00><07>=<00>7<00><00><07>>8<00><00><07>A<9<00>O<08>F:<00>O<03>K,:<00>O<03>M<00>:<00>a<08>O<00>:<00>sQ<00>:<00>OQQ<00>:<00><08>Q;<00><08><08>Q ;<00><08>-R#;<00><08>1R,;<00><08>-SC;<00><08>1SL;<00>OQTT;<00>Z Tk;<00>n <09>Tt;<00><08> :U<00>;<00><08> ?U<00>;<00><08> V<00>;<00><08> <09>V<00>;<00><08> EW<00>;<00><08> KW<00>;<00><08> RX<00>;<00><08> <09>X<00>;<00>
WY <<00>
[Y<<00>4
WZ+<<00>D
[Z4<<00>OQ[<<<00>OQ[<00><<00><00> <0B>[<00><<00><00> <0B>]<00>=<00><00> <0B>_<00>><00><00> <0B>b<00>><00> <0C>c?<00> <0C>d\=<00><1B> fx=<00>[<1B> g<00>+<00>OQh<00>+<00><00><14>h<00>,<00>OQh<00>,<00>h<00>2<00>OQi3<00><00><16>i  & ) 
<00>
5 ? K ) Z <00><00><00><00><00>d d t  t <00> <00>  <00> <00> K <00> <00> <00> <00> <00> <00> <00> <00> <00> 4O^<00><00>   # ( 9 ) ? D ? ccf ccp w K | <00>K | <00><00> K <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> 9 9 9 9 9 9 9 9 9 9 <00> <00><00> <00><00> <00> <00><00> 
<00>11<00>OQ!O<03>)O<03>1O<03>9O<03>AO<03>IO<03>QO<03>YO<03>aO<03>iO<03>qO[yO<03><00>O<03><02>O1<02>OQ<00>OQ<00>O<03><00>O<03><00>O<03><00>O<03> OQ OQ j<04>U<04> <04><00>/<04><00>7<04><01> <04>OQ9<00><02><01><10><04><00><10><04><11>A/<11>H<11> O<03>OQc<11>s<11>x<11>!<02>)<02>Q<00>-1<02><11><00><11><02><11>$x<11><00>QAOQ9OQAO<03>A<12>QOQYO<03><04>= AD<05>O<03>9I*9di{5,OQ4OQ<<00>XD<00>j,xo4xo x<11>D<00>WL<00>XT<00>jI<00>I<00>I<00><12>y<02><12>I<00><12><05><02><02><02> <09><05>N c<00><02><12>T<00>W <00>X\<00>jd<00>-\<00>Wa<13><05>&<13><05>6<13><05>@<13>lOQ<00>I<06>Y <06>clxoYOQt<00>X|<00>jymyv<13>yy<00><13>y<00><13><05><02><13>tx<11>|<00>Wl<00>]<06><00>q<06><00>j<02><13><06>c<13><02><13><06><00>W4<00><13><06><02><13><14><06>OQ<00>OQ<00>OQ<00>OQ<00>O<03>if<14><06><02>-<02><02><13><06>-<02><02>-<02><02><14><06><02><14> O<03>O<03><01>OQ<00>c<15><04><00>9<07><00>j!<03><02><15><01>K<07><02>W)<03>Q)<03>d<07>O<03>))<03><11><07>OQ<00>x<11>9<16>,<00><13>dx<11><04>O<03>)<16>A<03>WIOQQOQy5<08>O<03><06>O7<08>OQ<00>O<03><06>O<03>YOQdOQa<03><16>9<00><16><08>O<03><06><00><16>LOQ<00><00>9<07><00>jiO<03>i<17>Lx<11><04>%i6 P<17><04>Z <02> <09>d<02>D OQi<02> qOQqD, i<02> 9OQ9<00><17>i<02> 9<00><17>q 4 9 <18>91<18>qU9 )<03>F <09><00>9<07><00>j<05>wi<02> m aO<03><00><03>4 <02><18>a<03><18><00>x<11>i<02> <09>} <19> <02>5<05>" <09>+<19> <09>O<03><06>Q<19> <09>OQ<00><00><02>{<02>O<03><02><19> <09><02><19> i<02>5<05><03>
<EFBFBD>O
<EFBFBD><00>
<EFBFBD>OQ<00>OQ<00>O"
<EFBFBD>D(
<EFBFBD>O<03>O3
<EFBFBD>OQ<00><00><02>:
<EFBFBD> <1A><08>OA
<EFBFBD>Gd
<EFBFBD>n
<EFBFBD><00>s
1P}
<EFBFBD>}<1A>
<EFBFBD><00><02><13>
O<03>
<EFBFBD><00><1A>
<04><02><00><1A>
<02><19>
<EFBFBD>O<03><00>OQ$OQ!OQ<00>j* <0B><00>6 <01>< <0B><00>T <01>^ <04><04>O<03> <0B><01><1B> !<03><04><00><02>O<03><02><19> <x<11><02>-<02><14> <OQ<00><00><1B> <0B>!OQ! <1C><00>T<1C> <04><02>a<1C> 9y<<00><1C> <0B><00>  <00> <00>.kx .{<00> .cB .#3 .KW .s<00> .<00><00> .<00><00>.& .SB .+B .3B .;H .C3 @<00><00>A<00><00>C<00>tC<00>t`<00><00>a<00><00>c<00><00><02><00><00><03><00>A<04><00><00><03><00>A<04><00>o<04><00>y<01>o<01>A!<01><00>C<01>A<04><01>A<04><01>AC<02><00><02><02><00>
<EFBFBD><02><00>
<EFBFBD>#<04><02>#<04><03>o#<04>!<05>##<04>A<03>oC#<04>`#<04><02>#<04><02><03><00><08>#<04>!<04><00> a<05><00><03><05><00><03><05>A<04><05> <0B>#<04>#<04>!#<04>A#<04>`<06><00>a#<04><02>#<04><02>#<04><02>#<04><02>#<04><02> <00>#<04> #<04>$ <00>@#<04>`#<04>a#<04><02>#<04><02>#<04><02>#<04><02>#<04>#<04> #<04>@#<04>`#<04><02>#<04><02>#<04><02>#<04><02>#<04> #<04> #<04>@ #<04>` #<04><02> #<04><02> #<04><02>
#<04><02>
#<04>*<04><04>/;<05><<06><06><06><06>
.<07>@\<08><08> <09> <09> <09> <09> <09> 
L
<EFBFBD>
<EFBFBD>
   % 1 G j <0B> <0B> <0B> <00>
<00>
N 6S 6
di)
<00> n5 tD yX y$79:; < > = @ A BCEDFGHIKJLM '<04><04>?HQbw~<05><05><05>-4i}2Cu<07><07>!e<08><08><08>\ d u <09> <04><00><02><00><00>j<00>j<00><00><00># m<00>H<00>3<00>aLxk} a^^!<01>#<01>1<01>!+#2!q#z!<01>@ <09>@ <00>!<01> <Module>TechTalk.SpecFlow.Reporting.dllStepDefinitionReportTechTalk.SpecFlow.Reporting.StepDefinitionReport.ReportElementsReflectionHelperTechTalk.SpecFlow.ReportingFeatureRefScenarioRefNUnitExecutionReportGeneratorTechTalk.SpecFlow.Reporting.NUnitExecutionReportStepDefinitionReportGeneratorTechTalk.SpecFlow.Reporting.StepDefinitionReportParameterScenarioOutputTechTalk.SpecFlow.Reporting.NUnitExecutionReport.ReportElementsStepDefinitionParserHelperXmlResourceResolverMsBuildProjectReaderInstanceBindingAssemblyServicesAssemblyResolverXsltHelperResourceXmlReaderNUnitExecutionReportFilePositionBindingInfoBindingCollectormscorlibSystemObjectSystem.XmlXmlResolverXmlTextReaderMarshalByRefObjectXmlNamespaceProjectNameGeneratedAtShowBindingsWithoutInsanceSystem.Collections.GenericList`1StepDefinitions.ctorGetPropertyTExceptionPreserveStackTraceNameFilePathSourceFileLinereportTechTalk.SpecFlow.GeneratorTechTalk.SpecFlow.Generator.ConfigurationSpecFlowProjectspecFlowProjectxmlTestResultPathlabeledTestOutputPathGenerateReportCloseCurrentTestXmlDocumentLoadXmlTestResultTransformReportbindingsTechTalk.SpecFlow.ParserTechTalk.SpecFlow.Parser.SyntaxElementsFeatureparsedFeaturesshowBindingsWithoutInsanceDictionary`2stepDefByBindingbindingByStepDefstepDefsWithNoBindingScenarioStepsScenarioOutlineCreateFirstExampleScenarioStepsCreateScenarioStepsGetReplacedTextCreateSampleStepSystem.Text.RegularExpressionsMatchGetSampleTextIEnumerable`1ScenarioStepAddStepInstancesCloneTableRowCloneToValueTextTypeInstancesGetParsedFeaturesSystem.GlobalizationCultureInfoSystem.NetICredentialscredentialsUriGetEntityset_CredentialsCredentialsLoadSpecFlowProjectFromMsBuildFromScenarioOutlineParametersMethodReferenceSystem.ReflectionAssemblyLoadAssemblyFromSubscribeAssemblyResolveAppDomainprobingPathResolveEventArgsAppDomain_AssemblyResolveIsXmlOutputSystem.Xml.SerializationXmlSerializerTransformXmlGeneratorConfigurationTransformHtmlSystem.Xml.XslXslCompiledTransformXmlReaderXsltArgumentListSystem.IOStreamTransformbaseUriGetResourceStreamget_BaseURIBaseURIXmlNUnitNamespaceXmlNodeNUnitXmlTestResultScenarioOutputsget_FilePathset_FilePathget_Lineset_Lineget_Columnset_Column<FilePath>k__BackingField<Line>k__BackingField<Column>k__BackingFieldLineColumnget_MethodReferenceset_MethodReferenceget_FilePositionset_FilePositionget_BindingTypeset_BindingTypeRegexget_Regexset_Regexget_ParameterNamesset_ParameterNamesget_HasMultilineTextArgset_HasMultilineTextArgget_HasTableArgset_HasTableArg<MethodReference>k__BackingField<FilePosition>k__BackingField<BindingType>k__BackingField<Regex>k__BackingField<ParameterNames>k__BackingField<HasMultilineTextArg>k__BackingField<HasTableArg>k__BackingFieldBindingTypeParameterNamesHasMultilineTextArgHasTableArgbindingAttributeTypescenarioStepAttributeTypeBuildBindingsFromAssemblyBuildBindingsFromTypeMethodInfoAttributeBuildStepBindingFromMethodGetBindingTypeCollectBindingssourcepropertyNameexprojectFiletestLinescurrentTestoutputFilePathbinFolderscenarioOutlineparamSubsttextstepDefinitionbindingInfomatchfeatureRefscenarioRefscenarioStepsfromScenarioOutlinesteptablerowcurrentBlockfeatureFilesfeatureLanguageabsoluteUriroleofObjectToReturnvaluenameprobingFolderParamArrayAttributeappDomainsenderargsserializerreportTypegeneratorConfigurationxsltinputargumentsresultsdocumentResolvertyperesourceNameassembly
) ( X5 X 9= == AA EE ==<=8
%%9IM QU M(M YY]  Yae eUi mquy  U YyY (urn:NUnit}$  ( T T <12><> <12><>   T<12><>(T(<12><>((U YX UX <12><><12><>X <12><> X X <11>ŀ<EFBFBD>$<04><00>$RSA1<00><>]BG<42>h<EFBFBD>3DS`<60>1I<31>k<EFBFBD>"'<27><><EFBFBD><EFBFBD>V<04> <09><><EFBFBD>9<12><><EFBFBD><EFBFBD>SM<><4D>^Cz?d<>*7"<22>NZ<02>ΖR,q<00><>Nw]<5D><><EFBFBD>Mm<4D> <09><> <15>m?<3F><><EFBFBD>{*<2A> <0A>ʼ<>|&<26>V<7F><56>J<EFBFBD><4A><EFBFBD>iܸN|s=_<><5F><EFBFBD><EFBFBD>Fem<19>R<EFBFBD>BStepDefinitionReportT Namespaceurn:TechTalk:SpecFlow.Report projectName generatedAtshowBindingsWithoutInsanceStepDefinition( U <12><> U<11><> <12><><11><>-T Namespaceurn:TechTalk:SpecFlow.Report name file line<11><>I <12><> <12><>   !<12><11><> $$ <12>%  <12>%<12>!<11>1 q<12>)<12>- q !<12>!q! ie)X()(XX <11>9<11>9X  %<11>9% <12>= - <12>A <12>E<11>9(89X(<%<12>A-<11><><11>9X<11>9%<12>A<11>9( <12>I <12>M A E) E <12>Q
<12>ME)-<12>ME=<11>9=  -==E<12>Q-<11>9=E<12>Q <11>U<11>U <11>Y<11>Y  <11>Y<11>U X <12>u <12>y <12>q <12>q <12>q<12>yX 5  <12><> <12><>` (<12>y
<12><><12>y9= <12><><12><>= 5 9<12><>
<12>y99 <12><><12>y99<12><>
<12>y 9
 <12><>(9<12><>
(.X58 (88<12><>(d<12><>=<11>9X A==E <12><>EE
EE
E EEA<12>Q<12>Q <12><><12>Q<12>Q<12>Q<12>Q <12><><12>Q<12>Q
<12>Q<12>Q
<12>Q <12>Q type <12><>  <12><> <12><><12><>
<12><> I
h%9<12><> I %<12>%<12><><12>%%<12><> Y Y<08>?_<11>
: <11><>  <12><>
<12><>9999<12><><12><><12><> <11><><12><>i" <12><>9<12><><12><><12><><12><><12><>fromScenarioOutline  Y YY] <12><>DYY<12><> <12><> <12><><12><> 
q<12><>  <12> 
<11><><11><>
<12><>m<12><>0L u<12><> <12><><11><>  <12><>U <12><><12>U Y y <12> yyyBNUnitExecutionReportT Namespaceurn:TechTalk:SpecFlow.ReportScenarioOutputT<12><> UY U
<12><><12><>U U<12><>U <12><><11><> <12><><12><>U<12><><12><><12><><12><><12><><12>
<12><><12>  <11>  <12> <12><><12> 
<12> <12><><12> XX YXXY ]<12><12>  9]X<12>]\X 1.2.0.0 Reporting Microsoft Copyright © Microsoft 2009)$08de25e1-aa29-4d61-9441-23ed05ab1dceTWrapNonExceptionThrows<0E>K\<00>,<00>RSDS<y<><79><EFBFBD>hI<68><49><EFBFBD><EFBFBD>'t) D:\git\SpecFlow\Reporting\obj\Debug\TechTalk.SpecFlow.Reporting.pdb-- -_CorDllMainmscoree.dll<00>% @<00>0<00>HX@@@4VS_VERSION_INFO<00><04><>?DVarFileInfo$Translation<00><04>StringFileInfo|000004b04
CompanyNameMicrosoft<
FileDescriptionReporting0FileVersion1.2.0.0` InternalNameTechTalk.SpecFlow.Reporting.dll\LegalCopyrightCopyright <00> Microsoft 2009h OriginalFilenameTechTalk.SpecFlow.Reporting.dll4
ProductNameReporting4ProductVersion1.2.0.08Assembly Version1.2.0.0  0=