albacore 1.0.0.rc.2 → 1.0.0.rc.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (593) hide show
  1. data/.travis.yml +1 -1
  2. data/Guardfile +0 -9
  3. data/README.md +4 -4
  4. data/Rakefile +9 -14
  5. data/albacore.gemspec +29 -31
  6. data/lib/albacore.rb +22 -15
  7. data/lib/albacore/aspnetcompiler.rb +66 -44
  8. data/lib/albacore/assemblyinfo.rb +101 -120
  9. data/lib/albacore/assemblyinfolanguages/assemblyinfoengine.rb +13 -0
  10. data/lib/albacore/config/aspnetcompilerconfig.rb +5 -4
  11. data/lib/albacore/config/assemblyinfoconfig.rb +2 -4
  12. data/lib/albacore/config/cscconfig.rb +3 -3
  13. data/lib/albacore/config/docuconfig.rb +4 -8
  14. data/lib/albacore/config/execconfig.rb +9 -5
  15. data/lib/albacore/config/fluentmigratorconfig.rb +19 -0
  16. data/lib/albacore/config/ilmergeconfig.rb +5 -10
  17. data/lib/albacore/config/msbuildconfig.rb +3 -3
  18. data/lib/albacore/config/mspecconfig.rb +19 -0
  19. data/lib/albacore/config/mstestconfig.rb +19 -0
  20. data/lib/albacore/config/nantconfig.rb +9 -6
  21. data/lib/albacore/config/nchurnconfig.rb +9 -5
  22. data/lib/albacore/config/ncoverconsoleconfig.rb +9 -5
  23. data/lib/albacore/config/ncoverreportconfig.rb +9 -6
  24. data/lib/albacore/config/ndependconfig.rb +9 -5
  25. data/lib/albacore/config/netversion.rb +10 -6
  26. data/lib/albacore/config/nugetinstallconfig.rb +18 -0
  27. data/lib/albacore/config/nugetpackconfig.rb +2 -3
  28. data/lib/albacore/config/nugetpushconfig.rb +5 -6
  29. data/lib/albacore/config/nugetupdateconfig.rb +2 -3
  30. data/lib/albacore/config/nunitconfig.rb +19 -0
  31. data/lib/albacore/config/nuspecconfig.rb +18 -0
  32. data/lib/albacore/config/plinkconfig.rb +18 -0
  33. data/lib/albacore/config/specflowconfig.rb +18 -0
  34. data/lib/albacore/config/sqlcmdconfig.rb +9 -6
  35. data/lib/albacore/config/unzipconfig.rb +9 -5
  36. data/lib/albacore/config/xbuildconfig.rb +9 -6
  37. data/lib/albacore/config/xunitconfig.rb +18 -0
  38. data/lib/albacore/config/zipdirectoryconfig.rb +9 -6
  39. data/lib/albacore/csc.rb +56 -46
  40. data/lib/albacore/docu.rb +20 -23
  41. data/lib/albacore/exec.rb +8 -6
  42. data/lib/albacore/fluentmigrator.rb +69 -0
  43. data/lib/albacore/ilmerge.rb +23 -50
  44. data/lib/albacore/msbuild.rb +36 -59
  45. data/lib/albacore/mspec.rb +39 -0
  46. data/lib/albacore/mstest.rb +47 -0
  47. data/lib/albacore/nant.rb +23 -20
  48. data/lib/albacore/nchurn.rb +34 -59
  49. data/lib/albacore/ncoverconsole.rb +38 -50
  50. data/lib/albacore/ncoverreport.rb +24 -46
  51. data/lib/albacore/ncoverreports.rb +16 -0
  52. data/lib/albacore/ncoverreports/codecoveragebase.rb +8 -6
  53. data/lib/albacore/ncoverreports/cyclomaticcomplexity.rb +3 -3
  54. data/lib/albacore/ncoverreports/fullcoveragereport.rb +5 -9
  55. data/lib/albacore/ncoverreports/reportbase.rb +23 -0
  56. data/lib/albacore/ncoverreports/reportfilterbase.rb +10 -7
  57. data/lib/albacore/ncoverreports/summaryreport.rb +5 -14
  58. data/lib/albacore/ndepend.rb +17 -17
  59. data/lib/albacore/nugetinstall.rb +48 -43
  60. data/lib/albacore/nugetpack.rb +33 -37
  61. data/lib/albacore/nugetpush.rb +25 -31
  62. data/lib/albacore/nugetupdate.rb +28 -29
  63. data/lib/albacore/nunit.rb +46 -0
  64. data/lib/albacore/nuspec.rb +79 -77
  65. data/lib/albacore/output.rb +77 -80
  66. data/lib/albacore/plink.rb +35 -32
  67. data/lib/albacore/specflow.rb +30 -0
  68. data/lib/albacore/sqlcmd.rb +46 -61
  69. data/lib/albacore/support/platform.rb +25 -0
  70. data/lib/albacore/unzip.rb +42 -34
  71. data/lib/albacore/version.rb +1 -1
  72. data/lib/albacore/xbuild.rb +25 -38
  73. data/lib/albacore/xunit.rb +44 -0
  74. data/lib/albacore/zipdirectory.rb +106 -107
  75. data/spec/albacoremodel_spec.rb +52 -53
  76. data/spec/aspnetcompiler_spec.rb +84 -0
  77. data/spec/{support/TestSolution/TestSolution/Properties → assemblyinfo}/AssemblyInfo.cs +36 -36
  78. data/spec/assemblyinfo_spec.rb +209 -477
  79. data/spec/attrmethods_spec.rb +135 -136
  80. data/spec/config_spec.rb +32 -34
  81. data/spec/createtask_spec.rb +234 -237
  82. data/spec/csc_spec.rb +86 -253
  83. data/spec/docu_spec.rb +31 -109
  84. data/spec/exec_spec.rb +25 -45
  85. data/spec/fluentmigrator_spec.rb +88 -0
  86. data/spec/ilmerge_spec.rb +21 -79
  87. data/spec/msbuild_spec.rb +55 -287
  88. data/spec/mspec_spec.rb +30 -28
  89. data/spec/mstest_spec.rb +35 -0
  90. data/spec/nant_spec.rb +40 -110
  91. data/spec/nchurn_spec.rb +80 -75
  92. data/spec/ncoverconsole_spec.rb +80 -353
  93. data/spec/ncoverreport_spec.rb +139 -619
  94. data/spec/ndepend_spec.rb +26 -72
  95. data/spec/netversion_spec.rb +51 -53
  96. data/spec/nugetinstall_spec.rb +59 -47
  97. data/spec/nugetpack_spec.rb +49 -0
  98. data/spec/nugetpush_spec.rb +39 -0
  99. data/spec/nugetupdate_spec.rb +49 -42
  100. data/spec/nunit_spec.rb +35 -0
  101. data/spec/{support/nuspec → nuspec}/nuspec.xsd +0 -0
  102. data/spec/nuspec_spec.rb +74 -127
  103. data/spec/output/bar/bar.txt +0 -0
  104. data/spec/output/baz.txt +0 -0
  105. data/spec/output/erb.txt +1 -0
  106. data/spec/output/foo/foo/foo.txt +0 -0
  107. data/spec/output_spec.rb +67 -147
  108. data/spec/patch/system_patch.rb +12 -0
  109. data/spec/platform_spec.rb +15 -0
  110. data/spec/plink_spec.rb +56 -62
  111. data/spec/runcommand_spec.rb +92 -94
  112. data/spec/spec_helper.rb +20 -16
  113. data/spec/specflow_spec.rb +30 -0
  114. data/spec/sqlcmd_spec.rb +66 -334
  115. data/spec/unzip_spec.rb +1 -2
  116. data/spec/xbuild_spec.rb +40 -15
  117. data/spec/xunit_spec.rb +30 -200
  118. data/spec/yaml/test.yml +3 -0
  119. data/spec/yamlconfig_spec.rb +53 -49
  120. data/spec/zip/baz.txt +0 -0
  121. data/spec/zip/foo/bar/bar.txt +0 -0
  122. data/spec/zip/foo/foo.txt +0 -0
  123. data/spec/zip_spec.rb +63 -187
  124. metadata +78 -1098
  125. checksums.yaml +0 -7
  126. data/.rvmrc +0 -1
  127. data/lib/albacore/config/fluentmigratorrunnerconfig.rb +0 -15
  128. data/lib/albacore/config/msdeployconfig.rb +0 -15
  129. data/lib/albacore/config/mspectestrunnerconfig.rb +0 -15
  130. data/lib/albacore/config/mstesttestrunnerconfig.rb +0 -15
  131. data/lib/albacore/config/nugetpublishconfig.rb +0 -19
  132. data/lib/albacore/config/nunittestrunnerconfig.rb +0 -14
  133. data/lib/albacore/config/specflowreportconfig.rb +0 -24
  134. data/lib/albacore/config/vssgetconfig.rb +0 -14
  135. data/lib/albacore/config/xunittestrunnerconfig.rb +0 -15
  136. data/lib/albacore/fluentmigratorrunner.rb +0 -52
  137. data/lib/albacore/msdeploy.rb +0 -122
  138. data/lib/albacore/mspectestrunner.rb +0 -50
  139. data/lib/albacore/mstesttestrunner.rb +0 -43
  140. data/lib/albacore/nugetpublish.rb +0 -47
  141. data/lib/albacore/nunittestrunner.rb +0 -41
  142. data/lib/albacore/specflowreport.rb +0 -62
  143. data/lib/albacore/support/supportlinux.rb +0 -21
  144. data/lib/albacore/vssget.rb +0 -44
  145. data/lib/albacore/xunittestrunner.rb +0 -56
  146. data/samples/Rakefile +0 -154
  147. data/spec/README.md +0 -9
  148. data/spec/assemblyinfo_contexts.rb +0 -52
  149. data/spec/fluentmigratorrunner_spec.rb +0 -263
  150. data/spec/msdeploy_spec.rb +0 -124
  151. data/spec/mstesttestrunner_spec.rb +0 -144
  152. data/spec/nunittestrunner_spec.rb +0 -115
  153. data/spec/patches/docu_patch.rb +0 -13
  154. data/spec/patches/fail_patch.rb +0 -9
  155. data/spec/patches/system_patch.rb +0 -20
  156. data/spec/spec.opts +0 -1
  157. data/spec/specflowreport_spec.rb +0 -143
  158. data/spec/support/AssemblyInfo/AssemblyInfo.test +0 -6
  159. data/spec/support/AssemblyInfo/AssemblyInfoInput.test +0 -9
  160. data/spec/support/AssemblyInfo/assemblyinfo.yml +0 -2
  161. data/spec/support/CodeCoverage/mspec/assemblies/Machine.Specifications.dll +0 -0
  162. data/spec/support/CodeCoverage/mspec/assemblies/TestSolution.MSpecTests.dll +0 -0
  163. data/spec/support/CodeCoverage/mspec/assemblies/TestSolution.dll +0 -0
  164. data/spec/support/CodeCoverage/mspec/assemblies/nunit.framework.dll +0 -0
  165. data/spec/support/CodeCoverage/mstest/TestSolution.MSTestTests.NET40.dll +0 -0
  166. data/spec/support/CodeCoverage/mstest/TestSolution.MSTestTests.dll +0 -0
  167. data/spec/support/CodeCoverage/nunit/assemblies/TestSolution.Tests.dll +0 -0
  168. data/spec/support/CodeCoverage/nunit/assemblies/TestSolution.dll +0 -0
  169. data/spec/support/CodeCoverage/nunit/assemblies/nunit.framework.dll +0 -0
  170. data/spec/support/CodeCoverage/nunit/assemblies/with spaces/TestSolution.Tests.dll +0 -0
  171. data/spec/support/CodeCoverage/nunit/assemblies/with spaces/TestSolution.dll +0 -0
  172. data/spec/support/CodeCoverage/nunit/assemblies/with spaces/nunit.framework.dll +0 -0
  173. data/spec/support/CodeCoverage/nunit/failing_assemblies/TestSolution.FailingTests.dll +0 -0
  174. data/spec/support/CodeCoverage/nunit/failing_assemblies/nunit.framework.dll +0 -0
  175. data/spec/support/CodeCoverage/report/coverage.xml +0 -4578
  176. data/spec/support/CodeCoverage/xunit/assemblies/TestSolution.XUnitTests.dll +0 -0
  177. data/spec/support/CodeCoverage/xunit/assemblies/TestSolution.dll +0 -0
  178. data/spec/support/CodeCoverage/xunit/assemblies/xunit.dll +0 -0
  179. data/spec/support/CodeCoverage/xunit/assemblies/xunit.xml +0 -2604
  180. data/spec/support/FluentMigrator/FluentMigrator.dll +0 -0
  181. data/spec/support/FluentMigrator/TestSolution.FluentMigrator.dll +0 -0
  182. data/spec/support/SpecFlow/TechTalk.SpecFlow.dll +0 -0
  183. data/spec/support/SpecFlow/TestSolution.SpecFlow.dll +0 -0
  184. data/spec/support/SpecFlow/TestSolution.SpecFlow.pdb +0 -0
  185. data/spec/support/SpecFlow/TestSolution.dll +0 -0
  186. data/spec/support/SpecFlow/TestSolution.pdb +0 -0
  187. data/spec/support/SpecFlow/nunit.framework.dll +0 -0
  188. data/spec/support/TestSolution/LocalTestRun.testrunconfig +0 -5
  189. data/spec/support/TestSolution/NDependProject.xml +0 -315
  190. data/spec/support/TestSolution/TestSolution.5.0.ReSharper.user +0 -27
  191. data/spec/support/TestSolution/TestSolution.FailingTests/FailingTestFixture.cs +0 -19
  192. data/spec/support/TestSolution/TestSolution.FailingTests/Properties/AssemblyInfo.cs +0 -36
  193. data/spec/support/TestSolution/TestSolution.FailingTests/TestSolution.FailingTests.csproj +0 -101
  194. data/spec/support/TestSolution/TestSolution.FluentMigrator/M001_SampleMigration.cs +0 -19
  195. data/spec/support/TestSolution/TestSolution.FluentMigrator/Properties/AssemblyInfo.cs +0 -36
  196. data/spec/support/TestSolution/TestSolution.FluentMigrator/TestSolution.FluentMigrator.csproj +0 -101
  197. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy.sln +0 -20
  198. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/About.aspx +0 -13
  199. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/About.aspx.cs +0 -17
  200. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/About.aspx.designer.cs +0 -17
  201. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Account/ChangePassword.aspx +0 -60
  202. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Account/ChangePassword.aspx.cs +0 -17
  203. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Account/ChangePassword.aspx.designer.cs +0 -26
  204. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Account/ChangePasswordSuccess.aspx +0 -13
  205. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Account/ChangePasswordSuccess.aspx.cs +0 -17
  206. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Account/ChangePasswordSuccess.aspx.designer.cs +0 -17
  207. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Account/Login.aspx +0 -49
  208. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Account/Login.aspx.cs +0 -17
  209. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Account/Login.aspx.designer.cs +0 -35
  210. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Account/Register.aspx +0 -75
  211. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Account/Register.aspx.cs +0 -32
  212. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Account/Register.aspx.designer.cs +0 -35
  213. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Account/Web.config +0 -18
  214. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Default.aspx +0 -17
  215. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Default.aspx.cs +0 -17
  216. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Default.aspx.designer.cs +0 -17
  217. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Global.asax +0 -1
  218. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Global.asax.cs +0 -47
  219. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Properties/AssemblyInfo.cs +0 -35
  220. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Scripts/jquery-1.4.1-vsdoc.js +0 -8061
  221. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Scripts/jquery-1.4.1.js +0 -6111
  222. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Scripts/jquery-1.4.1.min.js +0 -167
  223. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Site.Master +0 -51
  224. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Site.Master.cs +0 -17
  225. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Site.Master.designer.cs +0 -71
  226. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Styles/Site.css +0 -294
  227. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/TestSolution.MSDeploy.Publish.xml +0 -2
  228. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/TestSolution.MSDeploy.csproj +0 -163
  229. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Web.Debug.config +0 -30
  230. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Web.Release.config +0 -31
  231. data/spec/support/TestSolution/TestSolution.MSDeploy/TestSolution.MSDeploy/Web.config +0 -52
  232. data/spec/support/TestSolution/TestSolution.MSTestTests.NET40/Properties/AssemblyInfo.cs +0 -36
  233. data/spec/support/TestSolution/TestSolution.MSTestTests.NET40/TestSolution.MSTestTests.NET40.csproj +0 -53
  234. data/spec/support/TestSolution/TestSolution.MSTestTests.NET40/Tests.cs +0 -20
  235. data/spec/support/TestSolution/TestSolution.MSTestTests/Properties/AssemblyInfo.cs +0 -35
  236. data/spec/support/TestSolution/TestSolution.MSTestTests/TestSolution.MSTestTests.csproj +0 -97
  237. data/spec/support/TestSolution/TestSolution.MSTestTests/Tests.cs +0 -20
  238. data/spec/support/TestSolution/TestSolution.MSpecTests/Properties/AssemblyInfo.cs +0 -36
  239. data/spec/support/TestSolution/TestSolution.MSpecTests/SomeSpecTest.cs +0 -18
  240. data/spec/support/TestSolution/TestSolution.MSpecTests/TestSolution.MSpecTests.csproj +0 -110
  241. data/spec/support/TestSolution/TestSolution.SpecFlow/OneFeature.feature +0 -8
  242. data/spec/support/TestSolution/TestSolution.SpecFlow/OneFeature.feature.cs +0 -73
  243. data/spec/support/TestSolution/TestSolution.SpecFlow/Properties/AssemblyInfo.cs +0 -36
  244. data/spec/support/TestSolution/TestSolution.SpecFlow/StepDefinition.cs +0 -30
  245. data/spec/support/TestSolution/TestSolution.SpecFlow/TestSolution.SpecFlow.csproj +0 -122
  246. data/spec/support/TestSolution/TestSolution.Tests/Properties/AssemblyInfo.cs +0 -36
  247. data/spec/support/TestSolution/TestSolution.Tests/SomeTestFixture.cs +0 -23
  248. data/spec/support/TestSolution/TestSolution.Tests/TestSolution.Tests.csproj +0 -107
  249. data/spec/support/TestSolution/TestSolution.XUnitTests/Class1.cs +0 -20
  250. data/spec/support/TestSolution/TestSolution.XUnitTests/FailingTestFixture.cs +0 -14
  251. data/spec/support/TestSolution/TestSolution.XUnitTests/Properties/AssemblyInfo.cs +0 -36
  252. data/spec/support/TestSolution/TestSolution.XUnitTests/TestSolution.XUnitTests.csproj +0 -108
  253. data/spec/support/TestSolution/TestSolution.build +0 -25
  254. data/spec/support/TestSolution/TestSolution.sln +0 -75
  255. data/spec/support/TestSolution/TestSolution.vsmdi +0 -6
  256. data/spec/support/TestSolution/TestSolution/Class1.cs +0 -17
  257. data/spec/support/TestSolution/TestSolution/TestSolution.csproj +0 -97
  258. data/spec/support/Tools/FluentMigrator-0.9/FluentMigrator.MSBuild.dll +0 -0
  259. data/spec/support/Tools/FluentMigrator-0.9/FluentMigrator.NAnt.dll +0 -0
  260. data/spec/support/Tools/FluentMigrator-0.9/FluentMigrator.Runner.dll +0 -0
  261. data/spec/support/Tools/FluentMigrator-0.9/FluentMigrator.Runner.pdb +0 -0
  262. data/spec/support/Tools/FluentMigrator-0.9/FluentMigrator.Tests.dll +0 -0
  263. data/spec/support/Tools/FluentMigrator-0.9/FluentMigrator.Tests.pdb +0 -0
  264. data/spec/support/Tools/FluentMigrator-0.9/FluentMigrator.dll +0 -0
  265. data/spec/support/Tools/FluentMigrator-0.9/FluentMigrator.pdb +0 -0
  266. data/spec/support/Tools/FluentMigrator-0.9/Migrate.exe +0 -0
  267. data/spec/support/Tools/FluentMigrator-0.9/Migrate.exe.config +0 -6
  268. data/spec/support/Tools/FluentMigrator-0.9/Moq.dll +0 -0
  269. data/spec/support/Tools/FluentMigrator-0.9/Moq.xml +0 -3467
  270. data/spec/support/Tools/FluentMigrator-0.9/MySql.Data.dll +0 -0
  271. data/spec/support/Tools/FluentMigrator-0.9/NAnt.Core.dll +0 -0
  272. data/spec/support/Tools/FluentMigrator-0.9/NAnt.Core.xml +0 -14880
  273. data/spec/support/Tools/FluentMigrator-0.9/Oracle.DataAccess.dll +0 -0
  274. data/spec/support/Tools/FluentMigrator-0.9/System.Data.SQLite.DLL +0 -0
  275. data/spec/support/Tools/FluentMigrator-0.9/log4net.dll +0 -0
  276. data/spec/support/Tools/FluentMigrator-0.9/nunit.framework.dll +0 -0
  277. data/spec/support/Tools/FluentMigrator-0.9/nunit.should.dll +0 -0
  278. data/spec/support/Tools/FluentMigrator-0.9/testscript.sql +0 -1
  279. data/spec/support/Tools/MSTest-2008/MSTest.exe +0 -0
  280. data/spec/support/Tools/MSTest-2008/Microsoft.VisualStudio.QualityTools.CommandLine.dll +0 -0
  281. data/spec/support/Tools/MSTest-2008/Microsoft.VisualStudio.QualityTools.Common.dll +0 -0
  282. data/spec/support/Tools/MSTest-2008/Microsoft.VisualStudio.QualityTools.ControllerObject.dll +0 -0
  283. data/spec/support/Tools/MSTest-2008/Microsoft.VisualStudio.QualityTools.ExecutionCommon.dll +0 -0
  284. data/spec/support/Tools/MSTest-2008/Microsoft.VisualStudio.QualityTools.TMI.dll +0 -0
  285. data/spec/support/Tools/MSTest-2008/Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Adapter.dll +0 -0
  286. data/spec/support/Tools/MSTest-2008/Microsoft.VisualStudio.QualityTools.Tips.UnitTest.AssemblyResolver.dll +0 -0
  287. data/spec/support/Tools/MSTest-2008/Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel.dll +0 -0
  288. data/spec/support/Tools/MSTest-2008/Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Tip.dll +0 -0
  289. data/spec/support/Tools/MSTest-2010/MSTest.exe +0 -0
  290. data/spec/support/Tools/MSTest-2010/MSTest.exe.config +0 -31
  291. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.AgentObject.dll +0 -0
  292. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.AgentProcessManager.dll +0 -0
  293. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.CMI.dll +0 -0
  294. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.CheckinPolicies.dll +0 -0
  295. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.CodeCoverage.dll +0 -0
  296. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.CodedUITest.Controls.dll +0 -0
  297. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.CodedUITestFramework.dll +0 -0
  298. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.CodedUITestPackage.dll +0 -0
  299. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.CommandLine.dll +0 -0
  300. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.Common.dll +0 -0
  301. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.Controller.SpooledJob.dll +0 -0
  302. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.ControllerObject.dll +0 -0
  303. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.DataCollectionAgentObject.dll +0 -0
  304. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.ExecutionCommon.dll +0 -0
  305. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.HostAdapters.ASPNETAdapter.dll +0 -0
  306. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.HostAdapters.ASPNETAgent.dll +0 -0
  307. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.Linking.dll +0 -0
  308. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.LoadTest.dll +0 -0
  309. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.LoadTestExcelAddIn.dll +0 -0
  310. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.LoadTestExcelAddIn.dll.manifest +0 -296
  311. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.LoadTestExcelAddIn.vsto +0 -150
  312. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.LoadTestExcelCommon.dll +0 -0
  313. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.LoadTestExcelCommon.tlb +0 -0
  314. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.LoadTestExec.dll +0 -0
  315. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.LoadTestFramework.dll +0 -0
  316. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.LoadTestPackage.dll +0 -0
  317. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.LoadTestUI.dll +0 -0
  318. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.NICServices.dll +0 -0
  319. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.NetworkEmulation.dll +0 -0
  320. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.OperationalStore.ClientHelper.dll +0 -0
  321. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.RecorderBar.dll +0 -0
  322. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.RecorderBarBHO100.dll +0 -0
  323. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.Resource.dll +0 -0
  324. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.Sqm.dll +0 -0
  325. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.TMI.dll +0 -0
  326. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.TestCaseManagement.dll +0 -0
  327. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.Tips.GenericTest.Adapter.dll +0 -0
  328. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.Tips.GenericTest.ObjectModel.dll +0 -0
  329. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.Tips.GenericTest.Tip.dll +0 -0
  330. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.Tips.ManualTest.Adapter.dll +0 -0
  331. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.Tips.ManualTest.ObjectModel.dll +0 -0
  332. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.Tips.ManualTest.Tip.dll +0 -0
  333. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.Tips.OrderedTest.Adapter.dll +0 -0
  334. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.Tips.OrderedTest.ObjectModel.dll +0 -0
  335. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.Tips.OrderedTest.Tip.dll +0 -0
  336. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.Tips.TuipPackage.dll +0 -0
  337. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Adapter.dll +0 -0
  338. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.Tips.UnitTest.AssemblyResolver.dll +0 -0
  339. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel.dll +0 -0
  340. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Tip.dll +0 -0
  341. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.Tips.WebLoadTest.Tip.dll +0 -0
  342. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll +0 -0
  343. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.Vsip.dll +0 -0
  344. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.WarehouseCommon.dll +0 -0
  345. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.WebTestFramework.dll +0 -0
  346. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.WebTestPlayback.dll +0 -0
  347. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.Wizard.TestProjectWizards.dll +0 -0
  348. data/spec/support/Tools/MSTest-2010/mstest.reg +0 -0
  349. data/spec/support/Tools/Machine.Specifications-0.5.3/lib/Machine.Specifications.TDNetRunner.dll +0 -0
  350. data/spec/support/Tools/Machine.Specifications-0.5.3/lib/Machine.Specifications.dll +0 -0
  351. data/spec/support/Tools/Machine.Specifications-0.5.3/lib/Machine.Specifications.dll.tdnet +0 -5
  352. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/CommandLine.dll +0 -0
  353. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/CommandLine.xml +0 -504
  354. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallResharperRunner.4.1.bat +0 -5
  355. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallResharperRunner.4.5.bat +0 -5
  356. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallResharperRunner.5.0 - VS2008.bat +0 -5
  357. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallResharperRunner.5.0 - VS2010.bat +0 -5
  358. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallResharperRunner.5.1 - VS2008.bat +0 -5
  359. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallResharperRunner.5.1 - VS2010.bat +0 -5
  360. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallResharperRunner.6.0 - VS2008.bat +0 -5
  361. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallResharperRunner.6.0 - VS2010.bat +0 -5
  362. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallResharperRunner.6.1 - VS2008.bat +0 -5
  363. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallResharperRunner.6.1 - VS2010.bat +0 -5
  364. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallTDNetRunner.bat +0 -16
  365. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallTDNetRunnerSilent.bat +0 -16
  366. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/License.txt +0 -54
  367. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/Machine.Specifications.GallioAdapter.3.1.dll +0 -0
  368. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/Machine.Specifications.GallioAdapter.plugin +0 -43
  369. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/Machine.Specifications.ReSharperRunner.4.1.dll +0 -0
  370. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/Machine.Specifications.ReSharperRunner.4.5.dll +0 -0
  371. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/Machine.Specifications.ReSharperRunner.5.0.dll +0 -0
  372. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/Machine.Specifications.ReSharperRunner.5.1.dll +0 -0
  373. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/Machine.Specifications.ReSharperRunner.6.0.dll +0 -0
  374. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/Machine.Specifications.ReSharperRunner.6.1.dll +0 -0
  375. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/Machine.Specifications.Reporting.Templates.dll +0 -0
  376. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/Machine.Specifications.Reporting.dll +0 -0
  377. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/Machine.Specifications.SeleniumSupport.dll +0 -0
  378. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/Machine.Specifications.TDNetRunner.dll +0 -0
  379. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/Machine.Specifications.WatinSupport.dll +0 -0
  380. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/Machine.Specifications.dll +0 -0
  381. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/Machine.Specifications.dll.tdnet +0 -5
  382. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/Spark.dll +0 -0
  383. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/TestDriven.Framework.dll +0 -0
  384. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/install.ps1 +0 -6
  385. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/mspec-clr4.exe +0 -0
  386. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/mspec-clr4.exe.config +0 -6
  387. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/mspec-x86-clr4.exe +0 -0
  388. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/mspec-x86-clr4.exe.config +0 -6
  389. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/mspec-x86.exe +0 -0
  390. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/mspec.exe +0 -0
  391. data/spec/support/Tools/NAnt-0.85/COPYING.txt +0 -340
  392. data/spec/support/Tools/NAnt-0.85/README.txt +0 -144
  393. data/spec/support/Tools/NChurn-v0.4/LICENSE.txt +0 -133
  394. data/spec/support/Tools/NChurn-v0.4/NChurn.exe +0 -0
  395. data/spec/support/Tools/NChurn-v0.4/README.md +0 -171
  396. data/spec/support/Tools/NChurn-v0.4/VERSION +0 -1
  397. data/spec/support/Tools/NChurn-v0.4/churn-0.4.0.0.txt +0 -178
  398. data/spec/support/Tools/NCover-v3.3/ActiproEULA.hml +0 -287
  399. data/spec/support/Tools/NCover-v3.3/ActiproSoftware.Shared.Wpf30.dll +0 -0
  400. data/spec/support/Tools/NCover-v3.3/ActiproSoftware.SyntaxEditor.Addons.DotNet.Wpf30.dll +0 -0
  401. data/spec/support/Tools/NCover-v3.3/ActiproSoftware.SyntaxEditor.Wpf30.dll +0 -0
  402. data/spec/support/Tools/NCover-v3.3/ActiproSoftware.Text.Net20.dll +0 -0
  403. data/spec/support/Tools/NCover-v3.3/AdminBootstrapper.exe +0 -0
  404. data/spec/support/Tools/NCover-v3.3/Build Task Plugins/MSBuildNCoverExample.proj +0 -237
  405. data/spec/support/Tools/NCover-v3.3/Build Task Plugins/MSBuildReportingExample.proj +0 -224
  406. data/spec/support/Tools/NCover-v3.3/Build Task Plugins/NAntNCoverExample.build +0 -241
  407. data/spec/support/Tools/NCover-v3.3/Build Task Plugins/NAntReportingExample.build +0 -218
  408. data/spec/support/Tools/NCover-v3.3/Build Task Plugins/NCover.MSBuildTasks.dll +0 -0
  409. data/spec/support/Tools/NCover-v3.3/Build Task Plugins/NCover.NAntTasks.dll +0 -0
  410. data/spec/support/Tools/NCover-v3.3/Build Task Plugins/NCoverExplorer.MSBuildTasks.dll +0 -0
  411. data/spec/support/Tools/NCover-v3.3/Build Task Plugins/NCoverExplorer.NAntTasks.dll +0 -0
  412. data/spec/support/Tools/NCover-v3.3/CC.Net/NCoverReporting30.xsl +0 -2313
  413. data/spec/support/Tools/NCover-v3.3/CC.Net/dashboard.config +0 -55
  414. data/spec/support/Tools/NCover-v3.3/CC.Net/excanvas.js +0 -35
  415. data/spec/support/Tools/NCover-v3.3/CC.Net/g.png +0 -0
  416. data/spec/support/Tools/NCover-v3.3/CC.Net/jquery-1.3.2.min.js +0 -19
  417. data/spec/support/Tools/NCover-v3.3/CC.Net/r.png +0 -0
  418. data/spec/support/Tools/NCover-v3.3/CC.Net/readme.txt +0 -51
  419. data/spec/support/Tools/NCover-v3.3/CC.Net/trends.js +0 -184
  420. data/spec/support/Tools/NCover-v3.3/CC.Net/y.png +0 -0
  421. data/spec/support/Tools/NCover-v3.3/MSVCM90.dll +0 -0
  422. data/spec/support/Tools/NCover-v3.3/MSVCP90.dll +0 -0
  423. data/spec/support/Tools/NCover-v3.3/MSVCR90.dll +0 -0
  424. data/spec/support/Tools/NCover-v3.3/Microsoft.VC90.CRT.manifest +0 -13
  425. data/spec/support/Tools/NCover-v3.3/Mindscape.LightSpeed.Linq.dll +0 -0
  426. data/spec/support/Tools/NCover-v3.3/Mindscape.LightSpeed.dll +0 -0
  427. data/spec/support/Tools/NCover-v3.3/NCover.Console.exe +0 -0
  428. data/spec/support/Tools/NCover-v3.3/NCover.Console.exe.config +0 -55
  429. data/spec/support/Tools/NCover-v3.3/NCover.Data.x86.dll +0 -0
  430. data/spec/support/Tools/NCover-v3.3/NCover.Explorer.Framework.dll +0 -0
  431. data/spec/support/Tools/NCover-v3.3/NCover.Explorer.exe +0 -0
  432. data/spec/support/Tools/NCover-v3.3/NCover.Explorer.exe.config +0 -16
  433. data/spec/support/Tools/NCover-v3.3/NCover.Framework.XmlSerializers.dll +0 -0
  434. data/spec/support/Tools/NCover-v3.3/NCover.Framework.dll +0 -0
  435. data/spec/support/Tools/NCover-v3.3/NCover.Interfaces.Core.dll +0 -0
  436. data/spec/support/Tools/NCover-v3.3/NCover.Interfaces.dll +0 -0
  437. data/spec/support/Tools/NCover-v3.3/NCover.Legacy.Configuration.dll +0 -0
  438. data/spec/support/Tools/NCover-v3.3/NCover.Lib.x86.dll +0 -0
  439. data/spec/support/Tools/NCover-v3.3/NCover.Registration.exe +0 -0
  440. data/spec/support/Tools/NCover-v3.3/NCover.Reporting.exe +0 -0
  441. data/spec/support/Tools/NCover-v3.3/NCover.Runner.dll +0 -0
  442. data/spec/support/Tools/NCover-v3.3/NCover.UpConvert.exe +0 -0
  443. data/spec/support/Tools/NCover-v3.3/NCover.Utilities.dll +0 -0
  444. data/spec/support/Tools/NCover-v3.3/NCoverEULA.pdf +0 -0
  445. data/spec/support/Tools/NCover-v3.3/NCoverExplorer.Console.exe +0 -0
  446. data/spec/support/Tools/NCover-v3.3/ReportingExample.config +0 -213
  447. data/spec/support/Tools/NCover-v3.3/System.Data.SQLite.dll +0 -0
  448. data/spec/support/Tools/NDepend-v2.12/EULA_NDepend.txt +0 -94
  449. data/spec/support/Tools/NDepend-v2.12/Lib/DevExpress.Data.v8.2.dll +0 -0
  450. data/spec/support/Tools/NDepend-v2.12/Lib/DevExpress.OfficeSkins.v8.2.dll +0 -0
  451. data/spec/support/Tools/NDepend-v2.12/Lib/DevExpress.Utils.v8.2.dll +0 -0
  452. data/spec/support/Tools/NDepend-v2.12/Lib/DevExpress.XtraBars.v8.2.dll +0 -0
  453. data/spec/support/Tools/NDepend-v2.12/Lib/DevExpress.XtraEditors.v8.2.dll +0 -0
  454. data/spec/support/Tools/NDepend-v2.12/Lib/DevExpress.XtraNavBar.v8.2.dll +0 -0
  455. data/spec/support/Tools/NDepend-v2.12/Lib/EnvDTE.dll +0 -0
  456. data/spec/support/Tools/NDepend-v2.12/Lib/Microsoft.Msagl.Drawing.dll +0 -0
  457. data/spec/support/Tools/NDepend-v2.12/Lib/Microsoft.Msagl.GraphViewerGdi.dll +0 -0
  458. data/spec/support/Tools/NDepend-v2.12/Lib/Microsoft.Msagl.GraphViewerGdi.dll.config +0 -3
  459. data/spec/support/Tools/NDepend-v2.12/Lib/Microsoft.Msagl.dll +0 -0
  460. data/spec/support/Tools/NDepend-v2.12/Lib/Microsoft.VisualStudio.OLE.Interop.dll +0 -0
  461. data/spec/support/Tools/NDepend-v2.12/Lib/Microsoft.VisualStudio.Shell.Interop.dll +0 -0
  462. data/spec/support/Tools/NDepend-v2.12/Lib/Microsoft.VisualStudio.Shell.dll +0 -0
  463. data/spec/support/Tools/NDepend-v2.12/Lib/Mono.Cecil.Pdb.dll +0 -0
  464. data/spec/support/Tools/NDepend-v2.12/Lib/Mono.Cecil.dll +0 -0
  465. data/spec/support/Tools/NDepend-v2.12/Lib/NDepend.AddIn.dll +0 -0
  466. data/spec/support/Tools/NDepend-v2.12/Lib/NDepend.Analysis.dll +0 -0
  467. data/spec/support/Tools/NDepend-v2.12/Lib/NDepend.CQL.dll +0 -0
  468. data/spec/support/Tools/NDepend-v2.12/Lib/NDepend.Framework.dll +0 -0
  469. data/spec/support/Tools/NDepend-v2.12/Lib/NDepend.Platform.DotNet.dll +0 -0
  470. data/spec/support/Tools/NDepend-v2.12/Lib/NDepend.Skins.dll +0 -0
  471. data/spec/support/Tools/NDepend-v2.12/Lib/NDepend.UI.dll +0 -0
  472. data/spec/support/Tools/NDepend-v2.12/Lib/msvcp71.dll +0 -0
  473. data/spec/support/Tools/NDepend-v2.12/Lib/msvcr71.dll +0 -0
  474. data/spec/support/Tools/NDepend-v2.12/NDepend.Console.exe +0 -0
  475. data/spec/support/Tools/NDepend-v2.12/NDepend.Console.exe.config +0 -8
  476. data/spec/support/Tools/NDepend-v2.12/QuickStartTutorial_NDepend.txt +0 -152
  477. data/spec/support/Tools/NDepend-v2.12/VisualNDepend.exe +0 -0
  478. data/spec/support/Tools/NUnit-v2.5/NUnitFitTests.html +0 -277
  479. data/spec/support/Tools/NUnit-v2.5/NUnitTests.config +0 -84
  480. data/spec/support/Tools/NUnit-v2.5/NUnitTests.nunit +0 -14
  481. data/spec/support/Tools/NUnit-v2.5/TestResult.xml +0 -32
  482. data/spec/support/Tools/NUnit-v2.5/agent.conf +0 -4
  483. data/spec/support/Tools/NUnit-v2.5/agent.log.conf +0 -18
  484. data/spec/support/Tools/NUnit-v2.5/clr.bat +0 -96
  485. data/spec/support/Tools/NUnit-v2.5/framework/nunit.framework.dll +0 -0
  486. data/spec/support/Tools/NUnit-v2.5/framework/nunit.framework.xml +0 -10088
  487. data/spec/support/Tools/NUnit-v2.5/framework/nunit.mocks.dll +0 -0
  488. data/spec/support/Tools/NUnit-v2.5/framework/pnunit.framework.dll +0 -0
  489. data/spec/support/Tools/NUnit-v2.5/launcher.log.conf +0 -18
  490. data/spec/support/Tools/NUnit-v2.5/lib/Failure.png +0 -0
  491. data/spec/support/Tools/NUnit-v2.5/lib/Ignored.png +0 -0
  492. data/spec/support/Tools/NUnit-v2.5/lib/Inconclusive.png +0 -0
  493. data/spec/support/Tools/NUnit-v2.5/lib/Skipped.png +0 -0
  494. data/spec/support/Tools/NUnit-v2.5/lib/Success.png +0 -0
  495. data/spec/support/Tools/NUnit-v2.5/lib/fit.dll +0 -0
  496. data/spec/support/Tools/NUnit-v2.5/lib/log4net.dll +0 -0
  497. data/spec/support/Tools/NUnit-v2.5/lib/nunit-console-runner.dll +0 -0
  498. data/spec/support/Tools/NUnit-v2.5/lib/nunit-gui-runner.dll +0 -0
  499. data/spec/support/Tools/NUnit-v2.5/lib/nunit.core.dll +0 -0
  500. data/spec/support/Tools/NUnit-v2.5/lib/nunit.core.interfaces.dll +0 -0
  501. data/spec/support/Tools/NUnit-v2.5/lib/nunit.fixtures.dll +0 -0
  502. data/spec/support/Tools/NUnit-v2.5/lib/nunit.uiexception.dll +0 -0
  503. data/spec/support/Tools/NUnit-v2.5/lib/nunit.uikit.dll +0 -0
  504. data/spec/support/Tools/NUnit-v2.5/lib/nunit.util.dll +0 -0
  505. data/spec/support/Tools/NUnit-v2.5/nunit-agent.exe +0 -0
  506. data/spec/support/Tools/NUnit-v2.5/nunit-agent.exe.config +0 -87
  507. data/spec/support/Tools/NUnit-v2.5/nunit-console-x86.exe +0 -0
  508. data/spec/support/Tools/NUnit-v2.5/nunit-console-x86.exe.config +0 -87
  509. data/spec/support/Tools/NUnit-v2.5/nunit-console.exe +0 -0
  510. data/spec/support/Tools/NUnit-v2.5/nunit-console.exe.config +0 -87
  511. data/spec/support/Tools/NUnit-v2.5/nunit-x86.exe +0 -0
  512. data/spec/support/Tools/NUnit-v2.5/nunit-x86.exe.config +0 -95
  513. data/spec/support/Tools/NUnit-v2.5/nunit.exe +0 -0
  514. data/spec/support/Tools/NUnit-v2.5/nunit.exe.config +0 -95
  515. data/spec/support/Tools/NUnit-v2.5/nunit.framework.dll +0 -0
  516. data/spec/support/Tools/NUnit-v2.5/pnunit-agent.exe +0 -0
  517. data/spec/support/Tools/NUnit-v2.5/pnunit-agent.exe.config +0 -87
  518. data/spec/support/Tools/NUnit-v2.5/pnunit-launcher.exe +0 -0
  519. data/spec/support/Tools/NUnit-v2.5/pnunit-launcher.exe.config +0 -87
  520. data/spec/support/Tools/NUnit-v2.5/pnunit.framework.dll +0 -0
  521. data/spec/support/Tools/NUnit-v2.5/pnunit.tests.dll +0 -0
  522. data/spec/support/Tools/NUnit-v2.5/runFile.exe +0 -0
  523. data/spec/support/Tools/NUnit-v2.5/runFile.exe.config +0 -43
  524. data/spec/support/Tools/NUnit-v2.5/runpnunit.bat +0 -2
  525. data/spec/support/Tools/NUnit-v2.5/test.conf +0 -24
  526. data/spec/support/Tools/PartCover-v2.3/Interop.PartCover.dll +0 -0
  527. data/spec/support/Tools/PartCover-v2.3/PartCover Browser Manual.rtf +0 -28853
  528. data/spec/support/Tools/PartCover-v2.3/PartCover Console Manual.rtf +0 -203
  529. data/spec/support/Tools/PartCover-v2.3/PartCover.Browser.Api.dll +0 -0
  530. data/spec/support/Tools/PartCover-v2.3/PartCover.Browser.exe +0 -0
  531. data/spec/support/Tools/PartCover-v2.3/PartCover.Browser.exe.config +0 -51
  532. data/spec/support/Tools/PartCover-v2.3/PartCover.CorDriver.dll +0 -0
  533. data/spec/support/Tools/PartCover-v2.3/PartCover.Framework.dll +0 -0
  534. data/spec/support/Tools/PartCover-v2.3/PartCover.exe +0 -0
  535. data/spec/support/Tools/PartCover-v2.3/PartCover.exe.config +0 -4
  536. data/spec/support/Tools/PartCover-v2.3/PartViewer.dll +0 -0
  537. data/spec/support/Tools/PartCover-v2.3/app.ico +0 -0
  538. data/spec/support/Tools/PartCover-v2.3/log4net.dll +0 -0
  539. data/spec/support/Tools/PartCover-v2.3/xslt/Report By Assembly.xslt +0 -54
  540. data/spec/support/Tools/PartCover-v2.3/xslt/Report By Class.xslt +0 -52
  541. data/spec/support/Tools/SpecFlow/Antlr3.Runtime.dll +0 -0
  542. data/spec/support/Tools/SpecFlow/Interop.SHDocVw.dll +0 -0
  543. data/spec/support/Tools/SpecFlow/TechTalk.SpecFlow.Generator.dll +0 -0
  544. data/spec/support/Tools/SpecFlow/TechTalk.SpecFlow.Parser.dll +0 -0
  545. data/spec/support/Tools/SpecFlow/TechTalk.SpecFlow.Reporting.dll +0 -0
  546. data/spec/support/Tools/SpecFlow/TechTalk.SpecFlow.VsIntegration.dll +0 -0
  547. data/spec/support/Tools/SpecFlow/TechTalk.SpecFlow.dll +0 -0
  548. data/spec/support/Tools/SpecFlow/TechTalk.SpecFlow.targets +0 -58
  549. data/spec/support/Tools/SpecFlow/TechTalk.SpecFlow.tasks +0 -17
  550. data/spec/support/Tools/SpecFlow/changelog.txt +0 -50
  551. data/spec/support/Tools/SpecFlow/specflow.exe +0 -0
  552. data/spec/support/Tools/XUnit-v1.9/EULA.txt +0 -29
  553. data/spec/support/Tools/XUnit-v1.9/HTML.xslt +0 -126
  554. data/spec/support/Tools/XUnit-v1.9/NUnitXml.xslt +0 -121
  555. data/spec/support/Tools/XUnit-v1.9/xunit.console.clr4.exe +0 -0
  556. data/spec/support/Tools/XUnit-v1.9/xunit.console.clr4.exe.config +0 -21
  557. data/spec/support/Tools/XUnit-v1.9/xunit.console.clr4.x86.exe +0 -0
  558. data/spec/support/Tools/XUnit-v1.9/xunit.console.clr4.x86.exe.config +0 -21
  559. data/spec/support/Tools/XUnit-v1.9/xunit.console.exe +0 -0
  560. data/spec/support/Tools/XUnit-v1.9/xunit.console.exe.config +0 -21
  561. data/spec/support/Tools/XUnit-v1.9/xunit.console.x86.exe +0 -0
  562. data/spec/support/Tools/XUnit-v1.9/xunit.console.x86.exe.config +0 -21
  563. data/spec/support/Tools/XUnit-v1.9/xunit.dll +0 -0
  564. data/spec/support/Tools/XUnit-v1.9/xunit.dll.tdnet +0 -5
  565. data/spec/support/Tools/XUnit-v1.9/xunit.extensions.dll +0 -0
  566. data/spec/support/Tools/XUnit-v1.9/xunit.extensions.xml +0 -805
  567. data/spec/support/Tools/XUnit-v1.9/xunit.gui.clr4.exe +0 -0
  568. data/spec/support/Tools/XUnit-v1.9/xunit.gui.clr4.x86.exe +0 -0
  569. data/spec/support/Tools/XUnit-v1.9/xunit.gui.exe +0 -0
  570. data/spec/support/Tools/XUnit-v1.9/xunit.gui.x86.exe +0 -0
  571. data/spec/support/Tools/XUnit-v1.9/xunit.installer.exe +0 -0
  572. data/spec/support/Tools/XUnit-v1.9/xunit.runner.msbuild.dll +0 -0
  573. data/spec/support/Tools/XUnit-v1.9/xunit.runner.tdnet.dll +0 -0
  574. data/spec/support/Tools/XUnit-v1.9/xunit.runner.utility.dll +0 -0
  575. data/spec/support/Tools/XUnit-v1.9/xunit.runner.utility.xml +0 -1212
  576. data/spec/support/Tools/XUnit-v1.9/xunit.xml +0 -2604
  577. data/spec/support/assemblyinfotester.rb +0 -52
  578. data/spec/support/csc/File1.cs +0 -9
  579. data/spec/support/csc/File2.cs +0 -9
  580. data/spec/support/csc/output/ignorethis.txt +0 -1
  581. data/spec/support/ironruby_validator.rb +0 -26
  582. data/spec/support/msbuildtestdata.rb +0 -32
  583. data/spec/support/nanttestdata.rb +0 -33
  584. data/spec/support/ncoverconsoletestdata.rb +0 -20
  585. data/spec/support/ncoverreporttestdata.rb +0 -26
  586. data/spec/support/nokogiri_validator.rb +0 -15
  587. data/spec/support/outputtestdata.rb +0 -13
  588. data/spec/support/test.yml +0 -4
  589. data/spec/support/yamlconfig/msbuild.yml +0 -5
  590. data/spec/support/yamlconfig/yaml_autoconfig_test.yml +0 -1
  591. data/spec/support/zip/files/subfolder/sub file.txt +0 -1
  592. data/spec/support/zip/files/testfile.txt +0 -1
  593. data/spec/support/ziptestdata.rb +0 -13
@@ -1,2313 +0,0 @@
1
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
2
- <xsl:output method="html" />
3
- <xsl:param name="reportnameoverride" />
4
-
5
- <!--This gets passed in from the transform so we are able to determine the type-->
6
- <xsl:variable name="root" select="//trendcoveragedata" />
7
- <xsl:variable name="reportType" select="//./params[@name = 'reporttype']/@value" />
8
- <xsl:variable name="date" select="//./params[@name = 'date']/@value" />
9
- <xsl:variable name="time" select="//./params[@name = 'time']/@value" />
10
- <xsl:variable name="fulltags" select="string(//./params[@name = 'ishtml']/@value) = '1'" />
11
-
12
- <!--
13
- Hide elements above what percent? The number must be between 0 and 1 and this is why we divide by 100 so we can use normal numbers
14
- The example below shows all data, if you changed atmostpercent to 20, only items between 0 and 20 would be displayed.
15
- -->
16
- <xsl:variable name="atleastpercent" select="0 div 100" />
17
- <xsl:variable name="atmostpercent" select="100 div 100" />
18
-
19
- <!--
20
- Possible values (symbol,branch)
21
- WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
22
- The string must be in single quotes or it will default to symbol
23
- WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
24
- -->
25
- <xsl:variable name="atleastpercenttype" select="'symbol'" />
26
- <!--<xsl:variable name="atleastpercenttype" select="'branch'" />-->
27
- <!--
28
- NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
29
- The baseimagepath is set up for cc.net by default. You may remove this option or set your own
30
- path if you do not like /ccnet/images/ as the base.
31
- NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
32
- -->
33
- <xsl:variable name="baseimagepath" xml:space="preserve"><xsl:choose>
34
- <xsl:when test="not ($fulltags)">/ccnet/images/</xsl:when>
35
- <xsl:otherwise></xsl:otherwise></xsl:choose></xsl:variable>
36
- <!--
37
- The width of the widest graph in pixels
38
- The Class in .8 of that and methods are .7
39
- -->
40
- <xsl:variable name="graphscale">75</xsl:variable>
41
- <xsl:variable name="projectstats" select="$root/stats[last()]"></xsl:variable>
42
- <xsl:variable name="execution" select="$root/execution[last()]"></xsl:variable>
43
- <xsl:variable name="acceptable" select="$execution/satisfactorycoveragethreshold"></xsl:variable>
44
- <xsl:variable name="acceptableFunction" select="$execution/satisfactoryfunctionthreshold"></xsl:variable>
45
- <xsl:variable name="reportName" xml:space="preserve"><xsl:choose>
46
- <xsl:when test="string($reportnameoverride) != ''"><xsl:value-of select="$reportnameoverride"/></xsl:when>
47
- <xsl:otherwise><xsl:choose>
48
- <xsl:when test="string(//./params[@name = 'reportname']/@value) != ''"><xsl:value-of select="//./params[@name = 'reportname']/@value" /></xsl:when>
49
- <xsl:otherwise><xsl:value-of select="$execution/projectname" /></xsl:otherwise></xsl:choose>
50
- </xsl:otherwise></xsl:choose></xsl:variable>
51
- <xsl:variable name="isFunctionReport" select="$reportType = 'MethodModule'
52
- or $reportType = 'MethodModuleNamespace'
53
- or $reportType = 'MethodModuleNamespaceClass'
54
- or $reportType = 'MethodModuleNamespaceClassMethod'
55
- or $reportType = 'MethodSourceCode'
56
- or $reportType = 'MethodSourceCodeClass'
57
- or $reportType = 'MethodSourceCodeClassMethod'
58
- or $reportType = 'MethodCCModuleClassFailedCoverageTop'
59
- or $reportType = 'MethodCCModuleClassCoverageTop'"/>
60
- <xsl:variable name="isDocumentReport" select="$reportType = 'SymbolSourceCode'
61
- or $reportType = 'SymbolSourceCodeClass'
62
- or $reportType = 'SymbolSourceCodeClassMethod'
63
- or $reportType = 'MethodSourceCode'
64
- or $reportType = 'MethodSourceCodeClass'
65
- or $reportType = 'MethodSourceCodeClassMethod'"/>
66
- <xsl:variable name="isDiffReport" select="$reportType = 'Diff'"/>
67
- <xsl:variable name="isTrendReport" select="$reportType = 'Trends'"/>
68
- <xsl:variable name="trendCoverageMetric" select="string(//./params[@name = 'trendcoveragemetric']/@value)" />
69
- <!--params(diffatleast=-.2)-->
70
- <xsl:variable name="diffAtLeast" xml:space="preserve"><xsl:choose><xsl:when test="string(//./params[@name = 'diffatleast']/@value) != '' and string(number(//./params[@name = 'diffatleast']/@value)) != 'NaN'"><xsl:value-of select="number(//./params[@name = 'diffatleast']/@value)" /></xsl:when><xsl:otherwise>0</xsl:otherwise></xsl:choose></xsl:variable>
71
- <!--params(showallitems=true)-->
72
- <xsl:variable name="showAllItems" select="translate(string(//./params[@name = 'showallitems']/@value),'TRUE','true') = 'true'
73
- or string(//./params[@name = 'showallitems']/@value) = '1'"/>
74
- <xsl:variable name="reportBranchPoints" select="$projectstats/@vbp" />
75
- <xsl:variable name="reportVisitCounts" select="$isFunctionReport and $projectstats/@svc" />
76
- <!--We have specific function CC reports that need the extra column-->
77
- <xsl:variable name="pointCCReport" select="$reportType = 'SymbolCCModuleClassFailedCoverageTop'
78
- or $reportType = 'SymbolCCModuleClassCoverageTop'" />
79
- <xsl:variable name="functionalCCReport" select="$reportType = 'SymbolCCModuleClassFailedCoverageTop'
80
- or $reportType = 'SymbolCCModuleClassCoverageTop'" />
81
- <xsl:variable name="ccnodeExists" select="$projectstats/@ccavg" />
82
- <xsl:variable name="ccdataExists" select="$projectstats/@ccavg > 0" />
83
- <xsl:variable name="trendsdataexist" select="count($projectstats/tp) > 0" />
84
- <xsl:variable name="reportCC" xml:space="preserve" select="($functionalCCReport and $ccdataExists)
85
- or ($projectstats/@ccavg and $ccdataExists and not ($isFunctionReport))" />
86
- <xsl:variable name="vcColumnCount" xml:space="preserve"><xsl:choose>
87
- <xsl:when test="$reportVisitCounts">2</xsl:when>
88
- <xsl:otherwise>0</xsl:otherwise></xsl:choose></xsl:variable>
89
- <xsl:variable name="ccClassCount" xml:space="preserve"><xsl:choose>
90
- <xsl:when test="$reportType = 'SymbolCCModuleClassFailedCoverageTop'">20</xsl:when>
91
- <xsl:when test="$reportType = 'SymbolCCModuleClassCoverageTop'">20</xsl:when>
92
- <xsl:otherwise>20</xsl:otherwise></xsl:choose></xsl:variable>
93
- <xsl:variable name="ccColumnCount" xml:space="preserve"><xsl:choose>
94
- <xsl:when test="$reportCC">1</xsl:when>
95
- <xsl:otherwise>0</xsl:otherwise></xsl:choose></xsl:variable>
96
- <xsl:variable name="tablecolumns" xml:space="preserve"><xsl:choose>
97
- <xsl:when test="$isDiffReport">16</xsl:when>
98
- <xsl:when test="$isTrendReport">6</xsl:when>
99
- <xsl:when test="not ($isFunctionReport) and $reportBranchPoints"><xsl:value-of select="9 + $ccColumnCount" /></xsl:when>
100
- <xsl:otherwise><xsl:value-of select="5 + $ccColumnCount + $vcColumnCount" /></xsl:otherwise></xsl:choose></xsl:variable>
101
- <xsl:variable name="reportTitle">
102
- <xsl:choose xml:space="preserve">
103
- <xsl:when test="$reportType = 'MethodModule'">Method Module</xsl:when>
104
- <xsl:when test="$reportType = 'MethodModuleNamespace'">Method Module and Namespace</xsl:when>
105
- <xsl:when test="$reportType = 'MethodModuleNamespaceClass'">Method Module, Namespace and Classes</xsl:when>
106
- <xsl:when test="$reportType = 'MethodModuleNamespaceClassMethod'">Method Module, Namespace, Class and Methods</xsl:when>
107
- <xsl:when test="$reportType = 'MethodSourceCode'">Method Source File</xsl:when>
108
- <xsl:when test="$reportType = 'MethodSourceCodeClass'">Method Source File and Class</xsl:when>
109
- <xsl:when test="$reportType = 'MethodSourceCodeClassMethod'">Method Source Code, Class and Methods</xsl:when>
110
- <xsl:when test="$reportType = 'SymbolModule'">Symbol Module</xsl:when>
111
- <xsl:when test="$reportType = 'SymbolModuleNamespace'">Symbol Module and Namespace</xsl:when>
112
- <xsl:when test="$reportType = 'SymbolModuleNamespaceClass'">Symbol Module, Namespace and Class</xsl:when>
113
- <xsl:when test="$reportType = 'SymbolModuleNamespaceClassMethod'">Symbol Module, Namespace, Class and Methods</xsl:when>
114
- <xsl:when test="$reportType = 'SymbolSourceCode'">Source Code</xsl:when>
115
- <xsl:when test="$reportType = 'SymbolSourceCodeClass'">Source Code and Class</xsl:when>
116
- <xsl:when test="$reportType = 'SymbolSourceCodeClassMethod'">Source Code, Class and Methods</xsl:when>
117
- <!--We may need to change this-->
118
- <xsl:when test="$reportType = 'SymbolCCModuleClassFailedCoverageTop'">
119
- Cyclomatic Complexity Coverage Top <xsl:value-of select="$ccClassCount" /> Failing Coverage
120
- </xsl:when>
121
- <xsl:when test="$reportType = 'SymbolCCModuleClassCoverageTop'">
122
- Cyclomatic Complexity Coverage Top <xsl:value-of select="$ccClassCount" />
123
- </xsl:when>
124
- <xsl:when test="$reportType = 'MethodCCModuleClassFailedCoverageTop'">
125
- Cyclomatic Complexity Function Coverage Top <xsl:value-of select="$ccClassCount" /> Failing Coverage
126
- </xsl:when>
127
- <xsl:when test="$reportType = 'MethodCCModuleClassCoverageTop'">
128
- Cyclomatic Complexity Function Coverage Top <xsl:value-of select="$ccClassCount" />
129
- </xsl:when>
130
- <xsl:when test="$reportType = 'Trends'">Trends Report</xsl:when>
131
- <xsl:when test="$reportType = 'Diff'">Diff Report</xsl:when>
132
- <xsl:otherwise>Unkown Report</xsl:otherwise>
133
- </xsl:choose>
134
- </xsl:variable>
135
- <xsl:variable name="vFilterStyle" select="//./params[@name = 'filterstyle']/@value" />
136
- <xsl:variable name="vSortStyle">
137
- <xsl:choose>
138
- <xsl:when test="$pointCCReport or $functionalCCReport">CC</xsl:when>
139
- <xsl:otherwise>
140
- <xsl:value-of select="//./params[@name = 'sortstyle']/@value" />
141
- </xsl:otherwise>
142
- </xsl:choose>
143
-
144
- </xsl:variable>
145
-
146
- <xsl:variable name="filterStyle">
147
- <xsl:choose>
148
- <xsl:when test="$vFilterStyle = 'HideFullyCovered'">Hide Fully Covered</xsl:when>
149
- <xsl:when test="$vFilterStyle = 'HideThresholdCovered'">Hide Threshold Covered</xsl:when>
150
- <xsl:when test="$vFilterStyle = 'HideUnvisited'">Hide Unvisited</xsl:when>
151
- <xsl:when test="$vFilterStyle = 'None'">None</xsl:when>
152
- <xsl:otherwise>Unknown</xsl:otherwise>
153
- </xsl:choose>
154
- </xsl:variable>
155
- <xsl:variable name="sortStyle">
156
- <xsl:choose>
157
- <xsl:when test="$vSortStyle = 'ClassLine'">Class Line</xsl:when>
158
- <xsl:when test="$vSortStyle = 'CoveragePercentageAscending'">Coverage Percentage Ascending</xsl:when>
159
- <xsl:when test="$vSortStyle = 'CoveragePercentageDescending'">Coverage Percentage Descending</xsl:when>
160
- <xsl:when test="$vSortStyle = 'FunctionCoverageAscending'">Function Coverage Ascending</xsl:when>
161
- <xsl:when test="$vSortStyle = 'FunctionCoverageDescending'">Function Coverage Descending</xsl:when>
162
- <xsl:when test="$vSortStyle = 'Name'">Name</xsl:when>
163
- <xsl:when test="$vSortStyle = 'UnvisitedSequencePointsAscending'">Unvisited Sequence Point Ascending</xsl:when>
164
- <xsl:when test="$vSortStyle = 'UnvisitedSequencePointsDescending'">Unvisited Sequence Point Descending</xsl:when>
165
- <xsl:when test="$vSortStyle = 'VisitCountAscending'">Visit Count Ascending</xsl:when>
166
- <xsl:when test="$vSortStyle = 'VisitCountDescending'">Visit Count Descending</xsl:when>
167
- <xsl:when test="$vSortStyle = 'CC'">Cyclomatic Complexity Descending</xsl:when>
168
- <xsl:otherwise>Unknown</xsl:otherwise>
169
- </xsl:choose>
170
- </xsl:variable>
171
- <xsl:template match="/" xml:space="preserve">
172
- <xsl:choose>
173
- <xsl:when test="$fulltags">
174
- <html>
175
- <head>
176
- <title>
177
- <xsl:value-of select="$reportTitle"/> - <xsl:value-of select="$filterStyle"/> - <xsl:value-of select="$sortStyle"/>
178
- </title>
179
- <xsl:comment>NCover 3.0 Template</xsl:comment>
180
- <xsl:comment>Generated by the Joe Feser joe@ncover.com on the NCover team and inspired by the original template by Grant Drake</xsl:comment>
181
- <xsl:call-template name="style" />
182
- </head>
183
- <body>
184
- <table class="coverageReportTable" cellpadding="2" cellspacing="0">
185
- <tbody>
186
- <xsl:apply-templates select="$root" />
187
- </tbody>
188
- </table>
189
- </body>
190
- </html>
191
- </xsl:when>
192
- <xsl:otherwise>
193
- <xsl:call-template name="style" />
194
- <xsl:apply-templates select="$root" />
195
- </xsl:otherwise>
196
- </xsl:choose>
197
- </xsl:template>
198
-
199
- <!-- Main Project Section -->
200
- <xsl:template match="trendcoveragedata">
201
- <xsl:variable name="threshold">
202
- <xsl:choose>
203
- <xsl:when test="$isFunctionReport">
204
- <xsl:value-of select="$acceptableFunction" />
205
- </xsl:when>
206
- <xsl:otherwise>
207
- <xsl:value-of select="$acceptable" />
208
- </xsl:otherwise>
209
- </xsl:choose>
210
- </xsl:variable>
211
- <xsl:variable name="unvisitedTitle">
212
- <xsl:choose>
213
- <xsl:when test="$isFunctionReport">U.V.</xsl:when>
214
- <xsl:otherwise>U.V.</xsl:otherwise>
215
- </xsl:choose>
216
- </xsl:variable>
217
- <xsl:variable name="excludedTitle">
218
- <xsl:choose>
219
- <xsl:when test="$isFunctionReport">Functions</xsl:when>
220
- <xsl:otherwise>SeqPts</xsl:otherwise>
221
- </xsl:choose>
222
- </xsl:variable>
223
- <xsl:variable name="coverageTitle">
224
- <xsl:choose>
225
- <xsl:when test="$isFunctionReport">Function Coverage</xsl:when>
226
- <xsl:otherwise>Coverage</xsl:otherwise>
227
- </xsl:choose>
228
- </xsl:variable>
229
-
230
- <xsl:call-template name="header" />
231
-
232
- <xsl:choose>
233
- <xsl:when test="$isDiffReport">
234
- <xsl:call-template name="diffProjectSummary">
235
- <xsl:with-param name="threshold" select="$threshold" />
236
- <xsl:with-param name="unvisitedTitle" select="$unvisitedTitle" />
237
- <xsl:with-param name="coverageTitle" select="$coverageTitle" />
238
- </xsl:call-template>
239
- </xsl:when>
240
- <xsl:when test="$isTrendReport">
241
- <xsl:call-template name="trendsProjectSummary">
242
- <xsl:with-param name="threshold" select="$threshold" />
243
- <xsl:with-param name="unvisitedTitle" select="$unvisitedTitle" />
244
- <xsl:with-param name="coverageTitle" select="$coverageTitle" />
245
- </xsl:call-template>
246
- </xsl:when>
247
- <xsl:otherwise>
248
- <xsl:call-template name="projectSummary">
249
- <xsl:with-param name="threshold" select="$threshold" />
250
- <xsl:with-param name="unvisitedTitle" select="$unvisitedTitle" />
251
- <xsl:with-param name="coverageTitle" select="$coverageTitle" />
252
- </xsl:call-template>
253
- </xsl:otherwise>
254
- </xsl:choose>
255
-
256
-
257
- <!--SymbolCCModuleClassFailedCoverageTop we show everything sorted by cc desc and coverage asc-->
258
- <xsl:if test="$reportType = 'SymbolCCModuleClassFailedCoverageTop'
259
- or $reportType = 'SymbolCCModuleClassCoverageTop'
260
- or $reportType = 'MethodCCModuleClassFailedCoverageTop'
261
- or $reportType = 'MethodCCModuleClassCoverageTop'">
262
- <xsl:call-template name="cyclomaticComplexitySummaryCommon">
263
- <xsl:with-param name="threshold" select="$threshold" />
264
- <xsl:with-param name="unvisitedTitle" select="$unvisitedTitle" />
265
- <xsl:with-param name="coverageTitle" select="$coverageTitle" />
266
- <xsl:with-param name="printClasses">True</xsl:with-param>
267
- </xsl:call-template>
268
- </xsl:if>
269
-
270
- <!--Output the top level module information moduleSummary-->
271
- <xsl:if test="$reportType = 'SymbolModule' or $reportType = 'MethodModule'">
272
- <xsl:call-template name="moduleSummary">
273
- <xsl:with-param name="threshold" select="$threshold" />
274
- <xsl:with-param name="unvisitedTitle" select="$unvisitedTitle" />
275
- <xsl:with-param name="coverageTitle" select="$coverageTitle" />
276
- <xsl:with-param name="printClasses">True</xsl:with-param>
277
- </xsl:call-template>
278
- </xsl:if>
279
-
280
- <!--Output the top level module information moduleSummary-->
281
- <xsl:if test="$reportType = 'SymbolSourceCode' or $reportType = 'MethodSourceCode'">
282
- <xsl:call-template name="documentSummary">
283
- <xsl:with-param name="threshold" select="$threshold" />
284
- <xsl:with-param name="unvisitedTitle" select="$unvisitedTitle" />
285
- <xsl:with-param name="coverageTitle" select="$coverageTitle" />
286
- <xsl:with-param name="printClasses">True</xsl:with-param>
287
- </xsl:call-template>
288
- </xsl:if>
289
-
290
- <!--Output the top level module information moduleSummary-->
291
- <xsl:if test="$reportType = 'SymbolSourceCodeClass'
292
- or $reportType = 'MethodSourceCodeClass'
293
- or $reportType = 'SymbolSourceCodeClassMethod'
294
- or $reportType = 'MethodSourceCodeClassMethod'">
295
- <xsl:call-template name="documentSummaryCommon">
296
- <xsl:with-param name="threshold" select="$threshold" />
297
- <xsl:with-param name="unvisitedTitle" select="$unvisitedTitle" />
298
- <xsl:with-param name="coverageTitle" select="$coverageTitle" />
299
- <xsl:with-param name="printClasses">True</xsl:with-param>
300
- <xsl:with-param name="printMethods">
301
- <xsl:choose xml:space="preserve">
302
- <xsl:when test="$reportType = 'SymbolSourceCodeClassMethod' or $reportType = 'MethodSourceCodeClassMethod'">True</xsl:when>
303
- <xsl:otherwise>False</xsl:otherwise>
304
- </xsl:choose>
305
- </xsl:with-param>
306
- </xsl:call-template>
307
- </xsl:if>
308
-
309
- <!--if the report is namespace based, then output the namespace information.-->
310
- <xsl:if test="$reportType = 'SymbolModuleNamespace' or $reportType = 'MethodModuleNamespace'">
311
- <xsl:call-template name="summaryCommon">
312
- <xsl:with-param name="threshold" select="$threshold" />
313
- <xsl:with-param name="unvisitedTitle" select="$unvisitedTitle" />
314
- <xsl:with-param name="coverageTitle" select="$coverageTitle" />
315
- <xsl:with-param name="printClasses">False</xsl:with-param>
316
- <xsl:with-param name="printMethods">False</xsl:with-param>
317
- </xsl:call-template>
318
- </xsl:if>
319
-
320
- <xsl:if test="($reportType = 'SymbolModuleNamespaceClass') or ($reportType = 'MethodModuleNamespaceClass')">
321
- <xsl:call-template name="summaryCommon">
322
- <xsl:with-param name="threshold" select="$threshold" />
323
- <xsl:with-param name="unvisitedTitle" select="$unvisitedTitle" />
324
- <xsl:with-param name="coverageTitle" select="$coverageTitle" />
325
- <xsl:with-param name="printClasses">True</xsl:with-param>
326
- <xsl:with-param name="printMethods">False</xsl:with-param>
327
- </xsl:call-template>
328
- </xsl:if>
329
-
330
- <xsl:if test="($reportType = 'SymbolModuleNamespaceClassMethod') or ($reportType = 'MethodModuleNamespaceClassMethod')">
331
- <xsl:call-template name="summaryCommon">
332
- <xsl:with-param name="threshold" select="$threshold" />
333
- <xsl:with-param name="unvisitedTitle" select="$unvisitedTitle" />
334
- <xsl:with-param name="coverageTitle" select="$coverageTitle" />
335
- <xsl:with-param name="printClasses">True</xsl:with-param>
336
- <xsl:with-param name="printMethods">True</xsl:with-param>
337
- </xsl:call-template>
338
- </xsl:if>
339
-
340
- <xsl:if test="($reportType = 'Diff')">
341
- <xsl:call-template name="diffSummaryCommon">
342
- <xsl:with-param name="threshold" select="$threshold" />
343
- <xsl:with-param name="coverageTitle" select="$coverageTitle" />
344
- <xsl:with-param name="printClasses">True</xsl:with-param>
345
- <xsl:with-param name="printMethods">True</xsl:with-param>
346
- </xsl:call-template>
347
- </xsl:if>
348
-
349
- <xsl:if test="($reportType = 'Trends')">
350
- <xsl:call-template name="trendsSummaryCommon">
351
- <xsl:with-param name="threshold" select="$threshold" />
352
- <xsl:with-param name="coverageTitle" select="$coverageTitle" />
353
- <xsl:with-param name="printClasses">True</xsl:with-param>
354
- <xsl:with-param name="printMethods">True</xsl:with-param>
355
- </xsl:call-template>
356
- </xsl:if>
357
-
358
- <xsl:if test="count($root/exclusions/exclusion) != 0">
359
- <xsl:call-template name="exclusionsSummary" >
360
- <xsl:with-param name="excludedTitle" select="$excludedTitle" />
361
- </xsl:call-template>
362
- </xsl:if>
363
-
364
- <xsl:call-template name="footer2" />
365
-
366
- <!--This is used by the trend file.-->
367
- <span id="trendGraph" style="display: none"></span>
368
- </xsl:template>
369
-
370
- <!-- Report Header -->
371
- <xsl:template name="header">
372
- <tr>
373
- <td class="projectTable reportHeader" colspan="{$tablecolumns}">
374
- <table width="100%">
375
- <tbody>
376
- <tr>
377
- <td valign="top">
378
- <h1 class="titleText">
379
- NCover Report - <xsl:value-of select="$reportName" />&#160;-&#160;<xsl:value-of select="$reportTitle" />
380
- </h1>
381
- <table cellpadding="1" class="subtitleText">
382
- <tbody>
383
- <xsl:if test="string(//./params[@name = 'coveragedate']/@value) != ''">
384
- <tr>
385
- <td class="heading">Coverage generated on:</td>
386
- <td>
387
- <xsl:value-of select="string(//./params[@name = 'coveragedate']/@value)" />&#160;at&#160;<xsl:value-of select="string(//./params[@name = 'coveragetime']/@value)" />
388
- </td>
389
- </tr>
390
- </xsl:if>
391
- <tr>
392
- <td class="heading">Report generated on:</td>
393
- <td>
394
- <xsl:value-of select="$date" />&#160;at&#160;<xsl:value-of select="$time" />
395
- </td>
396
- </tr>
397
- <tr>
398
- <td class="heading">NCover Profiler version:</td>
399
- <td>
400
- <xsl:value-of select="$execution/profilerversion" />
401
- </td>
402
- </tr>
403
- <tr>
404
- <td class="heading">Filtering / Sorting:</td>
405
- <td>
406
- <xsl:value-of select="$filterStyle" />&#160;/&#160;<xsl:value-of select="$sortStyle" />
407
- </td>
408
- </tr>
409
- <tr>
410
- <td class="heading">Report version:</td>
411
- <td>
412
- 2009.06.23.12.20
413
- </td>
414
- </tr>
415
- </tbody>
416
- </table>
417
- </td>
418
- <td class="projectStatistics" align="right" valign="top">
419
- <table cellpadding="1" class="subtitleText">
420
- <tbody>
421
- <tr>
422
- <td valign="top" nowrap="true" class="heading">
423
- <xsl:attribute name="rowspan" xml:space="preserve"><xsl:choose><xsl:when test="$reportBranchPoints">5</xsl:when><xsl:otherwise>4</xsl:otherwise></xsl:choose></xsl:attribute>
424
- Project Statistics:
425
- </td>
426
- <td align="right" class="heading">Files:</td>
427
- <td align="right">
428
- <xsl:value-of select="count($root/doc)" />
429
- </td>
430
- <td>
431
- <xsl:attribute name="rowspan" xml:space="preserve"><xsl:choose><xsl:when test="$reportBranchPoints">5</xsl:when><xsl:otherwise>4</xsl:otherwise></xsl:choose></xsl:attribute>
432
- &#160;
433
- </td>
434
- <td align="right" class="heading">NCLOC:</td>
435
- <td align="right">
436
- <xsl:value-of select="$projectstats/@ul + $projectstats/@vl" />
437
- </td>
438
- </tr>
439
- <tr>
440
- <td align="right" class="heading">Classes:</td>
441
- <td align="right">
442
- <xsl:value-of select="count($root/mod/ns/class)" />
443
- </td>
444
- <td align="right" class="heading">&#160;</td>
445
- <td align="right">&#160;</td>
446
- </tr>
447
- <tr>
448
- <td align="right" class="heading">Functions:</td>
449
- <td align="right">
450
- <xsl:value-of select="$projectstats/@vm + $projectstats/@um" />
451
- </td>
452
- <td align="right" class="heading">Unvisited:</td>
453
- <td align="right">
454
- <xsl:value-of select="$projectstats/@um" />
455
- </td>
456
- </tr>
457
- <tr>
458
- <td align="right" class="heading">Seq Pts:</td>
459
- <td align="right">
460
- <xsl:value-of select="$projectstats/@usp + $projectstats/@vsp" />
461
- </td>
462
- <td align="right" class="heading">Unvisited:</td>
463
- <td align="right">
464
- <xsl:value-of select="$projectstats/@usp" />
465
- </td>
466
- </tr>
467
- <xsl:if test="$reportBranchPoints">
468
- <tr>
469
- <td align="right" class="heading">Branch Pts:</td>
470
- <td align="right">
471
- <xsl:value-of select="$projectstats/@ubp + $projectstats/@vbp" />
472
- </td>
473
- <td align="right" class="heading">Unvisited:</td>
474
- <td align="right">
475
- <xsl:value-of select="$projectstats/@ubp" />
476
- </td>
477
- </tr>
478
- </xsl:if>
479
- <xsl:if test="$ccnodeExists and not ($ccdataExists)">
480
- <tr>
481
- <td colspan="6" align="right" class="heading">Cyclomatic complexity data does not exist</td>
482
- </tr>
483
- </xsl:if>
484
-
485
- <xsl:if test="count($root/doc[@id != 0]) = 0 or $projectstats/@usp + $projectstats/@vsp = 0">
486
- <tr>
487
- <td colspan="6" align="right" class="heading">
488
- Symbols were not available for this execution.<br />The sequence points coverage data will not be available.
489
- </td>
490
- </tr>
491
- </xsl:if>
492
- <xsl:if test ="(not ($trendsdataexist) and $isTrendReport) or (string($projectstats/@dvsp) = '' and $isDiffReport)">
493
- <tr>
494
- <td colspan="6" align="right" class="heading">
495
- Trend or Diff data does not exist and the report will not render correctly.
496
- </td>
497
- </tr>
498
- </xsl:if>
499
- </tbody>
500
- </table>
501
- </td>
502
- </tr>
503
-
504
- <xsl:if test="name(.) != 'trendcoveragedata' or not ($root)">
505
- <tr>
506
- <td>
507
- <b>
508
- The input file used to generate the report must start with 'trendcoveragedata' and the file provided started with '<xsl:value-of select="name(.)"/>'
509
- </b>
510
- </td>
511
- </tr>
512
- </xsl:if>
513
- <xsl:if test="name(.) = 'coverage'">
514
- <tr>
515
- <td>
516
- <b>
517
- The input file used to generate the report is a coverage file and not a report file. Please use ncover.reporting to generate an xml file format that may be used with this xsl file.
518
- </b>
519
- </td>
520
- </tr>
521
- </xsl:if>
522
-
523
- </tbody>
524
- </table>
525
- </td>
526
- </tr>
527
- </xsl:template>
528
-
529
- <!-- Project Summary -->
530
- <xsl:template name="projectSummary">
531
- <xsl:param name="threshold" />
532
- <xsl:param name="unvisitedTitle" />
533
- <xsl:param name="coverageTitle" />
534
- <!--The Total points or methods-->
535
- <xsl:variable name="total">
536
- <xsl:call-template name="gettotal">
537
- <xsl:with-param name="stats" select="$projectstats" />
538
- </xsl:call-template>
539
- </xsl:variable>
540
-
541
- <xsl:call-template name="sectionTableHeader">
542
- <xsl:with-param name="unvisitedTitle" select="$unvisitedTitle" />
543
- <xsl:with-param name="coverageTitle" select="$coverageTitle" />
544
- <xsl:with-param name="sectionTitle">Project</xsl:with-param>
545
- <xsl:with-param name="cellClass">projectTable</xsl:with-param>
546
- <xsl:with-param name="showThreshold">True</xsl:with-param>
547
- </xsl:call-template>
548
-
549
- <xsl:call-template name="coverageDetail">
550
- <xsl:with-param name="name">
551
- <xsl:choose>
552
- <xsl:when test="string-length($reportName) > 0">
553
- <xsl:value-of select="$reportName" />
554
- </xsl:when>
555
- <xsl:otherwise>&#160;</xsl:otherwise>
556
- </xsl:choose>
557
- </xsl:with-param>
558
- <xsl:with-param name="stats" select="$projectstats" />
559
- <xsl:with-param name="showThreshold">True</xsl:with-param>
560
- <xsl:with-param name="showBottomLine">True</xsl:with-param>
561
- </xsl:call-template>
562
- </xsl:template>
563
-
564
- <!--Build the header for each of the sections.
565
- It removes the complexity of building the multi table headers for the project and then the modules-->
566
- <xsl:template name="sectionTableHeader">
567
- <xsl:param name="unvisitedTitle" />
568
- <xsl:param name="coverageTitle" />
569
- <xsl:param name="sectionTitle" />
570
- <xsl:param name="cellClass" />
571
- <xsl:param name="showThreshold" />
572
-
573
- <!--We want to determine how many items can be shows above a percent-->
574
- <xsl:variable xml:space="preserve" name="qualifiedmethods"><xsl:call-template name="qualifiednodes" /></xsl:variable>
575
- <xsl:if test="$qualifiedmethods > 0">
576
- <!--white space-->
577
- <tr>
578
- <td colspan="{$tablecolumns}">&#160;</td>
579
- </tr>
580
- <!--Top row showing SP and BP Data-->
581
- <xsl:if test="not ($isFunctionReport)">
582
- <tr>
583
- <td class="{$cellClass} mtHdLeftTop">&#160;</td>
584
- <td class="{$cellClass} mtHdRightTop">
585
- <xsl:attribute name="colspan" xml:space="preserve"><xsl:choose><xsl:when test="$showThreshold = 'True'">4</xsl:when><xsl:otherwise>3</xsl:otherwise></xsl:choose></xsl:attribute>Sequence Points
586
- </td>
587
- <xsl:if test="$reportBranchPoints">
588
- <td class="{$cellClass} mtHdRightTop">
589
- <xsl:attribute name="colspan" xml:space="preserve"><xsl:choose><xsl:when test="$showThreshold = 'True'">4</xsl:when><xsl:otherwise>3</xsl:otherwise></xsl:choose></xsl:attribute>Branch Points
590
- </td>
591
- </xsl:if>
592
- <xsl:if test="$reportCC">
593
- <td class="{$cellClass} mtHdRightTop">C. C.</td>
594
- </xsl:if>
595
- </tr>
596
- </xsl:if>
597
- <tr>
598
- <td>
599
- <xsl:attribute xml:space="preserve" name="class"><xsl:value-of select="$cellClass" /><xsl:choose><xsl:when test="$isFunctionReport"> mtHdLeftFunc</xsl:when><xsl:otherwise> mtHdLeft</xsl:otherwise></xsl:choose></xsl:attribute>
600
- <xsl:value-of select="$sectionTitle" disable-output-escaping="yes" />
601
- </td>
602
- <td class="{$cellClass} mtHd">Acceptable</td>
603
- <td class="{$cellClass} mtHd">
604
- <xsl:value-of select="$unvisitedTitle" />
605
- </td>
606
- <!--This cell contains both the text and the chart.-->
607
- <td class="{$cellClass} mtgHd" style="text-align: center;" colspan="2">
608
- <xsl:value-of select="$coverageTitle" />
609
- </td>
610
-
611
- <xsl:if test="not ($isFunctionReport) and $reportBranchPoints">
612
- <td class="{$cellClass} mtHd">Acceptable</td>
613
- <td class="{$cellClass} mtHd">
614
- <xsl:value-of select="$unvisitedTitle" />
615
- </td>
616
- <!--This cell contains both the text and the chart.-->
617
- <td class="{$cellClass} mtgHd" style="text-align: center;" colspan="2">
618
- <xsl:value-of select="$coverageTitle" />
619
- </td>
620
- </xsl:if>
621
- <xsl:if test="$reportCC">
622
- <td class="{$cellClass} mtHd">
623
- <xsl:if test="$functionalCCReport">
624
- C.C.<br />
625
- </xsl:if> Avg / Max
626
- </td>
627
- </xsl:if>
628
- <xsl:if test="$reportVisitCounts">
629
- <td class="{$cellClass} mtHd">Visit Count</td>
630
- <td class="{$cellClass} mtHd">V.C. %</td>
631
- </xsl:if>
632
- </tr>
633
- </xsl:if>
634
- </xsl:template>
635
-
636
- <!-- Modules Summary -->
637
- <xsl:template name="moduleSummary">
638
- <xsl:param name="threshold" />
639
- <xsl:param name="unvisitedTitle" />
640
- <xsl:param name="coverageTitle" />
641
-
642
- <xsl:call-template name="sectionTableHeader">
643
- <xsl:with-param name="unvisitedTitle" select="$unvisitedTitle" />
644
- <xsl:with-param name="coverageTitle" select="$coverageTitle" />
645
- <xsl:with-param name="sectionTitle">Modules</xsl:with-param>
646
- <xsl:with-param name="cellClass">primaryTable</xsl:with-param>
647
- <xsl:with-param name="showThreshold">True</xsl:with-param>
648
- </xsl:call-template>
649
-
650
-
651
-
652
- <xsl:for-each select="$root/mod[string(stats/@ex) != '1']">
653
- <xsl:variable name="stats" select="stats[last()]" />
654
- <!--The Total points or methods-->
655
- <xsl:variable name="total">
656
- <xsl:call-template name="gettotal">
657
- <xsl:with-param name="stats" select="$stats" />
658
- </xsl:call-template>
659
- </xsl:variable>
660
- <xsl:call-template name="coverageDetail">
661
- <xsl:with-param name="name" select="assembly" />
662
- <xsl:with-param name="stats" select="$stats" />
663
- <xsl:with-param name="showThreshold">True</xsl:with-param>
664
- <xsl:with-param name="showBottomLine">True</xsl:with-param>
665
- </xsl:call-template>
666
- </xsl:for-each>
667
- </xsl:template>
668
-
669
- <!--Document Summary-->
670
-
671
- <xsl:template name="documentSummary">
672
- <xsl:param name="threshold" />
673
- <xsl:param name="unvisitedTitle" />
674
- <xsl:param name="coverageTitle" />
675
-
676
- <xsl:call-template name="sectionTableHeader">
677
- <xsl:with-param name="unvisitedTitle" select="$unvisitedTitle" />
678
- <xsl:with-param name="coverageTitle" select="$coverageTitle" />
679
- <xsl:with-param name="sectionTitle">Documents</xsl:with-param>
680
- <xsl:with-param name="cellClass">primaryTable</xsl:with-param>
681
- <xsl:with-param name="showThreshold">True</xsl:with-param>
682
- </xsl:call-template>
683
-
684
- <xsl:for-each select="$root/doc[string(stats/@ex) != '1' and string(@id) != '0']">
685
- <!--<xsl:sort select="en"/>-->
686
- <xsl:variable name="stats" select="stats[last()]" />
687
- <xsl:call-template name="coverageDetail">
688
- <xsl:with-param name="name" select="en" />
689
- <xsl:with-param name="stats" select="$stats" />
690
- <xsl:with-param name="showThreshold">True</xsl:with-param>
691
- <xsl:with-param name="showBottomLine">True</xsl:with-param>
692
- </xsl:call-template>
693
- </xsl:for-each>
694
- </xsl:template>
695
-
696
- <!--Helper templates-->
697
-
698
- <!-- Coverage detail row in main grid displaying a name, statistics and graph bar -->
699
- <xsl:template name="coverageDetail">
700
- <xsl:param name="name" />
701
- <xsl:param name="stats" />
702
- <xsl:param name="showThreshold" />
703
- <xsl:param name="showBottomLine" />
704
- <!--By default this needs to be unvisited count-->
705
- <xsl:param name="countText">
706
- <xsl:call-template name="unvisiteditems">
707
- <xsl:with-param name="stats" select="$stats" />
708
- </xsl:call-template>
709
- </xsl:param>
710
- <xsl:param name="styleTweak" />
711
- <xsl:param name="scale" select="$graphscale" />
712
- <xsl:variable name="total">
713
- <xsl:call-template name="gettotal">
714
- <xsl:with-param name="stats" select="$stats" />
715
- </xsl:call-template>
716
- </xsl:variable>
717
- <xsl:variable name="totalbranch">
718
- <xsl:call-template name="gettotal">
719
- <xsl:with-param name="stats" select="$stats" />
720
- <xsl:with-param name="branch" select="'True'" />
721
- </xsl:call-template>
722
- </xsl:variable>
723
- <xsl:variable name="unvisitedcount">
724
- <xsl:call-template name="unvisiteditems">
725
- <xsl:with-param name="stats" select="$stats" />
726
- </xsl:call-template>
727
- </xsl:variable>
728
- <xsl:variable name="unvisitedcountbranch">
729
- <xsl:value-of select="$stats/@ubp" />
730
- </xsl:variable>
731
- <xsl:variable name="coverage">
732
- <xsl:choose>
733
- <xsl:when test="$total = 0">N/A</xsl:when>
734
- <xsl:when test="$isFunctionReport">
735
- <xsl:value-of select="($stats/@vm div $total) * 100" />
736
- </xsl:when>
737
- <xsl:otherwise>
738
- <xsl:value-of select="($stats/@vsp div $total) * 100" />
739
- </xsl:otherwise>
740
- </xsl:choose>
741
- </xsl:variable>
742
- <xsl:variable name="coveragebranch">
743
- <xsl:choose>
744
- <xsl:when test="$totalbranch = 0">N/A</xsl:when>
745
- <xsl:otherwise>
746
- <xsl:value-of select="($stats/@vbp div $totalbranch) * 100" />
747
- </xsl:otherwise>
748
- </xsl:choose>
749
- </xsl:variable>
750
- <xsl:variable name="threshold">
751
- <xsl:choose>
752
- <xsl:when test="$isFunctionReport">
753
- <xsl:value-of select="$stats/@afp" />
754
- </xsl:when>
755
- <xsl:otherwise>
756
- <xsl:value-of select="$stats/@acp" />
757
- </xsl:otherwise>
758
- </xsl:choose>
759
- </xsl:variable>
760
- <xsl:variable name="thresholdbranch">
761
- <xsl:choose>
762
- <xsl:when test="$isFunctionReport">
763
- <xsl:value-of select="$stats/@afp" />
764
- </xsl:when>
765
- <xsl:otherwise>
766
- <xsl:value-of select="$stats/@abp" />
767
- </xsl:otherwise>
768
- </xsl:choose>
769
- </xsl:variable>
770
-
771
- <!--We want to determine how many items can be shows above a percent-->
772
- <xsl:variable xml:space="preserve" name="qualifiedmethods"><xsl:call-template name="qualifiednodes" /></xsl:variable>
773
- <xsl:if test="$qualifiedmethods > 0">
774
- <tr>
775
- <xsl:choose>
776
- <xsl:when test="$showThreshold='True'">
777
- <td>
778
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mtcItem</xsl:attribute>
779
- <xsl:if test="$styleTweak != ''" xml:space="preserve"><xsl:attribute name="style"><xsl:value-of select="$styleTweak"/></xsl:attribute></xsl:if>
780
- <div class="mtDiv">
781
- <xsl:value-of select="$name" />
782
- </div>
783
- </td>
784
- <td>
785
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR</xsl:attribute>
786
- <xsl:value-of select="concat(format-number($threshold,'#0.0'), ' %')" />
787
- </td>
788
- </xsl:when>
789
- <xsl:otherwise>
790
- <td colspan="2">
791
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mtcItem</xsl:attribute>
792
- <xsl:if test="$styleTweak != ''" xml:space="preserve"><xsl:attribute name="style"><xsl:value-of select="$styleTweak"/></xsl:attribute></xsl:if>
793
- <div class="mtDiv">
794
- <xsl:value-of select="$name" />
795
- </div>
796
- </td>
797
- </xsl:otherwise>
798
- </xsl:choose>
799
- <td>
800
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR</xsl:attribute>
801
- <xsl:value-of select="$countText" />
802
- </td>
803
- <td>
804
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mPt</xsl:attribute>
805
- <xsl:call-template name="printcoverage">
806
- <xsl:with-param name="coverage" select="$coverage"></xsl:with-param>
807
- </xsl:call-template>
808
- </td>
809
- <td>
810
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>tmcGraph</xsl:attribute>
811
- <xsl:call-template name="coverageBarChart">
812
- <xsl:with-param name="notVisited" select="$unvisitedcount" />
813
- <xsl:with-param name="total" select="$total" />
814
- <xsl:with-param name="threshold" select="$threshold" />
815
- <xsl:with-param name="scale" select="$scale" />
816
- </xsl:call-template>
817
- </td>
818
- <!--This section can be hard coded to branch points since that is all that it does.-->
819
- <xsl:if test="not ($isFunctionReport) and $reportBranchPoints">
820
- <td>
821
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR</xsl:attribute>
822
- <xsl:choose>
823
- <xsl:when test="$showThreshold='True'">
824
- <xsl:value-of select="concat(format-number($thresholdbranch,'#0.0'), ' %')" />
825
- </xsl:when>
826
- <xsl:otherwise>
827
- <xsl:text disable-output-escaping="yes">&#160;</xsl:text>
828
- </xsl:otherwise>
829
- </xsl:choose>
830
- </td>
831
- <td>
832
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR</xsl:attribute>
833
- <xsl:value-of select="$unvisitedcountbranch" />
834
- </td>
835
- <td>
836
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mPt</xsl:attribute>
837
- <xsl:call-template name="printcoverage">
838
- <xsl:with-param name="coverage" select="$coveragebranch"></xsl:with-param>
839
- </xsl:call-template>
840
- </td>
841
- <td>
842
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>tmcGraph</xsl:attribute>
843
- <xsl:call-template name="coverageBarChart">
844
- <xsl:with-param name="notVisited" select="$unvisitedcountbranch" />
845
- <xsl:with-param name="total" select="$totalbranch" />
846
- <xsl:with-param name="threshold" select="$thresholdbranch" />
847
- <xsl:with-param name="scale" select="$scale" />
848
- </xsl:call-template>
849
- </td>
850
- </xsl:if>
851
- <xsl:if test="$reportCC">
852
- <td>
853
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR</xsl:attribute>
854
- <xsl:value-of select="$stats/@ccavg" /> / <xsl:value-of select="$stats/@ccmax" />
855
- </td>
856
- </xsl:if>
857
- <xsl:if test="$reportVisitCounts">
858
- <xsl:variable name="count" select="$stats/@svc" />
859
- <td>
860
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR</xsl:attribute>
861
- <xsl:choose>
862
- <xsl:when test="$count > 0">
863
- <xsl:value-of select="$count" />
864
- </xsl:when>
865
- <xsl:otherwise>-</xsl:otherwise>
866
- </xsl:choose>
867
- </td>
868
- <td>
869
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR</xsl:attribute>
870
- <xsl:choose>
871
- <xsl:when test="$count > 0">
872
- <xsl:call-template name="printcoverage">
873
- <xsl:with-param name="coverage" select="($count div $projectstats/@svc) * 100"></xsl:with-param>
874
- <xsl:with-param name="twoplaces" select="'1'" />
875
- </xsl:call-template>
876
- </xsl:when>
877
- <xsl:otherwise>-</xsl:otherwise>
878
- </xsl:choose>
879
- </td>
880
- </xsl:if>
881
- </tr>
882
- </xsl:if>
883
- </xsl:template>
884
-
885
- <!-- Exclusions Summary Not supported at this time.-->
886
- <xsl:template name="exclusionsSummary">
887
- <xsl:param name="excludedTitle" />
888
- <!--<tr>
889
- <td colspan="{$tablecolumns}">&#160;</td>
890
- </tr>
891
- <tr>
892
- <td class="exclusionTable mtHdLeft" colspan="1">Exclusion In Module</td>
893
- <td class="exclusionTable mtgHd" colspan="3">Item Excluded</td>
894
- <td class="exclusionTable mtgHd" colspan="1">All Code Within</td>
895
- <td class="exclusionTable mtgHd2" colspan="1">
896
- <xsl:value-of select="$excludedTitle" />
897
- </td>
898
- </tr>
899
- <xsl:for-each select="./exclusions/exclusion">
900
- <tr>
901
- <td class="mb etcItem exclusionCell" colspan="1">
902
- <xsl:value-of select="@m" />
903
- </td>
904
- <td class="mb tmcGraph exclusionCell" colspan="3">
905
- <xsl:value-of select="@n" />
906
- </td>
907
- <td class="mb tmcGraph exclusionCell" colspan="1">
908
- <xsl:value-of select="@cat" />
909
- </td>
910
- <td class="mb mtcData exclusionCell" colspan="1">
911
- <xsl:value-of select="@fp" />
912
- </td>
913
- </tr>
914
- </xsl:for-each>
915
- <tr>
916
- <td colspan="4">&#160;</td>
917
- <td class="exclusionTable mtHdLeft">Total</td>
918
- <td class="exclusionTable mtgHd2">
919
- <xsl:value-of select="sum(./exclusions/exclusion/@fp)"/>
920
- </td>
921
- </tr>-->
922
- </xsl:template>
923
-
924
- <!-- Footer -->
925
- <xsl:template name="footer2">
926
- <tr>
927
- <td colspan="{$tablecolumns}">&#160;</td>
928
- </tr>
929
- </xsl:template>
930
-
931
- <!-- Draw % Green/Red/Yellow Bar -->
932
- <xsl:template name="coverageBarChart">
933
- <xsl:param name="notVisited" />
934
- <xsl:param name="total" />
935
- <xsl:param name="threshold" />
936
- <xsl:param name="scale" />
937
- <xsl:variable name="nocoverage" select="$total = 0 and $notVisited = 0" />
938
- <xsl:variable name="visited" select="$total - $notVisited" />
939
- <xsl:variable name="coverage" select="$visited div $total * 100"/>
940
- <!--Fix rounding issues in the graph since we can only do whole numbers-->
941
- <xsl:variable name="right" select="format-number($coverage div 100 * $scale, '0') - 1" />
942
- <xsl:variable name="left" select="format-number($scale - $right, '0')" />
943
- <xsl:choose>
944
- <xsl:when test="$nocoverage">
945
- &#160;
946
- </xsl:when>
947
- <xsl:otherwise>
948
- <xsl:if test="$notVisited = 0">
949
- <img src="{$baseimagepath}g.png" height="14" width="{format-number($scale, '0')}" />
950
- </xsl:if>
951
- <xsl:if test="($visited != 0) and ($notVisited != 0)">
952
- <img src="{$baseimagepath}g.png" height="14" width="{$right}" />
953
- </xsl:if>
954
- <xsl:if test="$notVisited != 0">
955
- <xsl:if test="$coverage &gt;= $threshold">
956
- <img src="{$baseimagepath}y.png" height="14" width="{$left}" />
957
- </xsl:if>
958
- <xsl:if test="$coverage &lt; $threshold">
959
- <img src="{$baseimagepath}r.png" height="14" width="{$left}" />
960
- </xsl:if>
961
- </xsl:if>
962
- </xsl:otherwise>
963
- </xsl:choose>
964
- </xsl:template>
965
-
966
- <!--Summary for document reports that contain methods-->
967
- <xsl:template name="cyclomaticComplexitySummaryCommon">
968
- <xsl:param name="threshold" />
969
- <xsl:param name="unvisitedTitle" />
970
- <xsl:param name="coverageTitle" xml:space="preserve">Coverage</xsl:param>
971
- <xsl:param name="printClasses" />
972
- <xsl:param name="printMethods" />
973
-
974
- <xsl:for-each select="$root/mod[string(stats/@ex) != '1']">
975
- <xsl:sort select="stats[last()]/@ccmax" order="descending" data-type ="number" />
976
- <xsl:variable name="docstats" select="stats[last()]" />
977
- <xsl:variable name="documentID" select="@id" />
978
- <!--
979
- To make a nice clean report we want to see if we actually have a count before we continue.
980
- -->
981
- <xsl:variable name="classcount">
982
- <xsl:choose xml:space="preserve">
983
- <xsl:when test="$reportType = 'SymbolCCModuleClassFailedCoverageTop'"><xsl:value-of select="count(ns/class[string(stats/@ex) != '1' and stats/@ccmax > 0 and
984
- (
985
- (stats/@vsp div (stats/@usp + stats/@vsp)) * 100 &lt; stats/@acp
986
- or (stats/@vbp div (stats/@ubp + stats/@vbp)) * 100 &lt; stats/@acp
987
- )
988
- ])"/></xsl:when>
989
- <xsl:when test="$reportType = 'MethodCCModuleClassFailedCoverageTop'"><xsl:value-of select="count(ns/class[string(stats/@ex) != '1' and stats/@ccmax > 0 and
990
- (stats/@vm div (stats/@um + stats/@vm)) * 100 &lt; stats/@afp])" /></xsl:when>
991
- <xsl:when test="$reportType = 'MethodCCModuleClassCoverageTop'"><xsl:value-of select="count(ns/class[string(stats/@ex) != '1' and stats/@ccmax > 0])" /></xsl:when>
992
- <xsl:otherwise>1</xsl:otherwise>
993
- </xsl:choose>
994
- </xsl:variable>
995
-
996
- <!--If we have something to show then show it-->
997
- <xsl:if test="$classcount > 0">
998
- <xsl:call-template name="sectionTableHeader">
999
- <xsl:with-param name="unvisitedTitle" select="'U.V.'" />
1000
- <xsl:with-param name="coverageTitle" select="$coverageTitle" />
1001
- <xsl:with-param name="sectionTitle">Module</xsl:with-param>
1002
- <xsl:with-param name="cellClass">secondaryTable</xsl:with-param>
1003
- <xsl:with-param name="showThreshold">True</xsl:with-param>
1004
- </xsl:call-template>
1005
-
1006
- <xsl:call-template name="coverageDetail">
1007
- <xsl:with-param name="name" select="assembly" />
1008
- <xsl:with-param name="stats" select="$docstats" />
1009
- <xsl:with-param name="showThreshold">True</xsl:with-param>
1010
- </xsl:call-template>
1011
- <tr>
1012
- <td class="secondaryChildTable ctHeader" colspan="{$tablecolumns}">
1013
- Classes <xsl:if test="$printMethods = 'True'"> / Methods</xsl:if>
1014
- </td>
1015
- </tr>
1016
- <xsl:choose>
1017
- <xsl:when test="$reportType = 'SymbolCCModuleClassFailedCoverageTop'">
1018
- <!--Grab the first 10 classes where the sp or bp % is less than acceptable-->
1019
- <xsl:for-each select="ns/class[string(stats/@ex) != '1' and stats/@ccmax > 0 and
1020
- (
1021
- (stats/@vsp div (stats/@usp + stats/@vsp)) * 100 &lt; stats/@acp
1022
- or (stats/@vbp div (stats/@ubp + stats/@vbp)) * 100 &lt; stats/@acp
1023
- )
1024
- ]">
1025
- <xsl:sort select="stats[last()]/@ccmax" order="descending" data-type ="number" />
1026
- <!--Not sure why the position above works so we are going to limit it here-->
1027
- <xsl:if test="position() &lt;= $ccClassCount">
1028
- <xsl:call-template name="classCommon">
1029
- <xsl:with-param name="printMethods" select="$printMethods" />
1030
- </xsl:call-template>
1031
- </xsl:if>
1032
- </xsl:for-each>
1033
- </xsl:when>
1034
- <xsl:when test="$reportType = 'MethodCCModuleClassFailedCoverageTop'">
1035
- <!--Grab the first 10 classes where the sp or bp % is less than acceptable-->
1036
- <xsl:for-each select="ns/class[string(stats/@ex) != '1' and stats/@ccmax > 0 and
1037
- (stats/@vm div (stats/@um + stats/@vm)) * 100 &lt; stats/@afp]">
1038
- <xsl:sort select="stats[last()]/@ccmax" order="descending" data-type ="number" />
1039
- <!--Not sure why the position above works so we are going to limit it here-->
1040
- <xsl:if test="position() &lt;= $ccClassCount">
1041
- <xsl:call-template name="classCommon">
1042
- <xsl:with-param name="printMethods" select="$printMethods" />
1043
- </xsl:call-template>
1044
- </xsl:if>
1045
- </xsl:for-each>
1046
- </xsl:when>
1047
- <xsl:otherwise>
1048
- <!--Grab the first 10 classes where the sp or bp %-->
1049
- <xsl:for-each select="ns/class[string(stats/@ex) != '1']">
1050
- <xsl:sort select="stats[last()]/@ccmax" order="descending" data-type ="number" />
1051
- <!--Not sure why the position above works so we are going to limit it here-->
1052
- <xsl:if test="position() &lt;= $ccClassCount and stats[last()]/@ccmax > 0">
1053
- <xsl:call-template name="classCommon">
1054
- <xsl:with-param name="printMethods" select="$printMethods" />
1055
- </xsl:call-template>
1056
- </xsl:if>
1057
- </xsl:for-each>
1058
- </xsl:otherwise>
1059
- </xsl:choose>
1060
- </xsl:if>
1061
- </xsl:for-each>
1062
- </xsl:template>
1063
-
1064
- <!--Summary for document reports that contain methods-->
1065
- <xsl:template name="documentSummaryCommon">
1066
- <xsl:param name="threshold" />
1067
- <xsl:param name="unvisitedTitle" />
1068
- <xsl:param name="coverageTitle">Coverage</xsl:param>
1069
- <xsl:param name="printClasses" />
1070
- <xsl:param name="printMethods" />
1071
-
1072
- <xsl:for-each select="$root/doc[string(stats/@ex) != '1' and string(@id) != '0']">
1073
- <xsl:variable name="docstats" select="stats[last()]" />
1074
- <xsl:variable name="documentID" select="@id" />
1075
-
1076
- <xsl:call-template name="sectionTableHeader">
1077
- <xsl:with-param name="unvisitedTitle" select="'U.V.'" />
1078
- <xsl:with-param name="coverageTitle" select="$coverageTitle" />
1079
- <xsl:with-param name="sectionTitle">Document</xsl:with-param>
1080
- <xsl:with-param name="cellClass">secondaryTable</xsl:with-param>
1081
- <xsl:with-param name="showThreshold">True</xsl:with-param>
1082
- </xsl:call-template>
1083
-
1084
- <xsl:call-template name="coverageDetail">
1085
- <xsl:with-param name="name" select="en" />
1086
- <xsl:with-param name="stats" select="$docstats" />
1087
- <xsl:with-param name="showThreshold">True</xsl:with-param>
1088
- </xsl:call-template>
1089
- <tr>
1090
- <td class="secondaryChildTable ctHeader" colspan="{$tablecolumns}">
1091
- Classes <xsl:if test="$printMethods = 'True'"> / Methods</xsl:if>
1092
- </td>
1093
- </tr>
1094
-
1095
- <!--For each class that is used for the document [string(stats/@ex) != '1']-->
1096
- <xsl:for-each select="$root/mod/ns/class[string(stats/@ex) != '1']">
1097
- <xsl:variable name="doc" select="stats/doc = $documentID" />
1098
- <xsl:if test="$doc">
1099
- <xsl:call-template name="classCommon">
1100
- <xsl:with-param name="printMethods" select="$printMethods" />
1101
- </xsl:call-template>
1102
- </xsl:if>
1103
- </xsl:for-each>
1104
- </xsl:for-each>
1105
- </xsl:template>
1106
-
1107
- <!-- Common Summary Header information -->
1108
- <xsl:template name="summaryCommon">
1109
- <xsl:param name="threshold" />
1110
- <xsl:param name="unvisitedTitle" />
1111
- <xsl:param name="coverageTitle">Coverage</xsl:param>
1112
- <xsl:param name="printClasses" />
1113
- <xsl:param name="printMethods" />
1114
- <xsl:for-each select="$root/mod[string(stats/@ex) != '1']">
1115
- <!--We want to determine how many items can be shows above a percent-->
1116
- <xsl:variable xml:space="preserve" name="qualifiedmethods"><xsl:call-template name="qualifiednodes" /></xsl:variable>
1117
- <xsl:if test="$qualifiedmethods > 0">
1118
- <xsl:variable name="modstats" select="stats[last()]" />
1119
-
1120
- <xsl:call-template name="sectionTableHeader">
1121
- <xsl:with-param name="unvisitedTitle" select="'U.V.'" />
1122
- <xsl:with-param name="coverageTitle" select="$coverageTitle" />
1123
- <xsl:with-param name="sectionTitle">Module</xsl:with-param>
1124
- <xsl:with-param name="cellClass">secondaryTable</xsl:with-param>
1125
- <xsl:with-param name="showThreshold">True</xsl:with-param>
1126
- </xsl:call-template>
1127
-
1128
- <xsl:call-template name="coverageDetail">
1129
- <xsl:with-param name="name" select="assembly" />
1130
- <xsl:with-param name="stats" select="$modstats" />
1131
- <xsl:with-param name="showThreshold">True</xsl:with-param>
1132
- </xsl:call-template>
1133
- <tr>
1134
- <td class="secondaryChildTable ctHeader" colspan="{$tablecolumns}">
1135
- Namespace <xsl:if test="$printClasses = 'True'"> / Classes</xsl:if>
1136
- </td>
1137
- </tr>
1138
- <!--print the Namespaces classes and methods-->
1139
- <xsl:call-template name="namespaceClassMethodSummary">
1140
- <xsl:with-param name="printClasses" select="$printClasses" />
1141
- <xsl:with-param name="printMethods" select="$printMethods" />
1142
- </xsl:call-template>
1143
- </xsl:if>
1144
- </xsl:for-each>
1145
- </xsl:template>
1146
-
1147
- <!--print the Namespaces classes and methods-->
1148
- <xsl:template name="namespaceClassMethodSummary">
1149
- <xsl:param name="printClasses" />
1150
- <xsl:param name="printMethods" />
1151
- <xsl:for-each select="ns[string(stats/@ex) != '1']">
1152
- <xsl:variable name="nsstats" select="stats[last()]" />
1153
-
1154
- <xsl:choose>
1155
- <xsl:when test="$isDiffReport">
1156
- <!--Modified to support threshold on the node-->
1157
- <xsl:call-template name="diffCoverageDetail">
1158
- <xsl:with-param name="name" select="name" />
1159
- <xsl:with-param name="stats" select="$nsstats" />
1160
- <xsl:with-param name="styleTweak">padding-left:20px;font-weight:bold</xsl:with-param>
1161
- <xsl:with-param name="showThreshold">True</xsl:with-param>
1162
- <xsl:with-param name="showBottomLine">True</xsl:with-param>
1163
- </xsl:call-template>
1164
- </xsl:when>
1165
- <xsl:when test="$isTrendReport">
1166
- <!--Modified to support threshold on the node-->
1167
- <xsl:call-template name="trendsCoverageDetail">
1168
- <xsl:with-param name="name" select="name" />
1169
- <xsl:with-param name="stats" select="$nsstats" />
1170
- <xsl:with-param name="styleTweak">padding-left:20px;font-weight:bold</xsl:with-param>
1171
- <xsl:with-param name="showTrendGraph">True</xsl:with-param>
1172
- <xsl:with-param name="showThreshold">True</xsl:with-param>
1173
- <xsl:with-param name="showBottomLine">True</xsl:with-param>
1174
- </xsl:call-template>
1175
- </xsl:when>
1176
- <xsl:otherwise>
1177
- <!--Modified to support threshold on the node-->
1178
- <xsl:call-template name="coverageDetail">
1179
- <xsl:with-param name="name" select="name" />
1180
- <xsl:with-param name="stats" select="$nsstats" />
1181
- <xsl:with-param name="styleTweak">padding-left:20px;font-weight:bold</xsl:with-param>
1182
- <xsl:with-param name="showThreshold">True</xsl:with-param>
1183
- <xsl:with-param name="showBottomLine">True</xsl:with-param>
1184
- </xsl:call-template>
1185
- </xsl:otherwise>
1186
- </xsl:choose>
1187
- <xsl:if test="$printClasses = 'True'">
1188
- <xsl:for-each select="class[string(stats/@ex) != '1']">
1189
- <xsl:call-template name="classCommon">
1190
- <xsl:with-param name="printMethods" select="$printMethods" />
1191
- </xsl:call-template>
1192
- </xsl:for-each>
1193
- </xsl:if>
1194
- </xsl:for-each>
1195
- </xsl:template>
1196
-
1197
- <!--Print the class and method as needed.-->
1198
- <xsl:template name="classCommon">
1199
- <xsl:param name="printMethods" />
1200
- <xsl:variable name="clsstats" select="stats[last()]" />
1201
- <xsl:choose>
1202
- <xsl:when test="$isDiffReport">
1203
- <xsl:call-template name="diffCoverageDetail">
1204
- <xsl:with-param name="name" select="name" />
1205
- <xsl:with-param name="stats" select="$clsstats" />
1206
- <xsl:with-param name="styleTweak">padding-left:30px</xsl:with-param>
1207
- <xsl:with-param name="scale">
1208
- <xsl:value-of select ="$graphscale * .8" />
1209
- </xsl:with-param>
1210
- <xsl:with-param name="showThreshold">True</xsl:with-param>
1211
- <xsl:with-param name="showBottomLine">True</xsl:with-param>
1212
- </xsl:call-template>
1213
- </xsl:when>
1214
- <xsl:when test="$isTrendReport">
1215
- <xsl:call-template name="trendsCoverageDetail">
1216
- <xsl:with-param name="name" select="name" />
1217
- <xsl:with-param name="stats" select="$clsstats" />
1218
- <xsl:with-param name="styleTweak">padding-left:30px</xsl:with-param>
1219
- <xsl:with-param name="scale">
1220
- <xsl:value-of select ="$graphscale * .8" />
1221
- </xsl:with-param>
1222
- <xsl:with-param name="showThreshold">True</xsl:with-param>
1223
- <xsl:with-param name="showBottomLine">True</xsl:with-param>
1224
- </xsl:call-template>
1225
- </xsl:when>
1226
- <xsl:otherwise>
1227
- <xsl:call-template name="coverageDetail">
1228
- <xsl:with-param name="name" select="name" />
1229
- <xsl:with-param name="stats" select="$clsstats" />
1230
- <xsl:with-param name="styleTweak">padding-left:30px</xsl:with-param>
1231
- <xsl:with-param name="scale">
1232
- <xsl:value-of select ="$graphscale * .8" />
1233
- </xsl:with-param>
1234
- <xsl:with-param name="showThreshold">True</xsl:with-param>
1235
- <xsl:with-param name="showBottomLine">True</xsl:with-param>
1236
- </xsl:call-template>
1237
- </xsl:otherwise>
1238
- </xsl:choose>
1239
-
1240
-
1241
- <xsl:if test="$printMethods = 'True'">
1242
- <xsl:for-each select="method[string(stats/@ex) != '1']">
1243
- <xsl:call-template name="methodDetails" />
1244
- </xsl:for-each>
1245
- </xsl:if>
1246
- </xsl:template>
1247
-
1248
- <xsl:template name="methodDetails">
1249
- <xsl:variable name="methstats" select="stats[last()]" />
1250
- <xsl:variable name="countTextDisplay">
1251
- <xsl:choose>
1252
- <xsl:when test="$isFunctionReport">-</xsl:when>
1253
- <xsl:otherwise>
1254
- <xsl:value-of select="$methstats/@usp"/>
1255
- </xsl:otherwise>
1256
- </xsl:choose>
1257
- </xsl:variable>
1258
- <xsl:choose>
1259
- <xsl:when test="$isDiffReport">
1260
- <xsl:call-template name="diffCoverageDetail">
1261
- <xsl:with-param name="name" select="name" />
1262
- <xsl:with-param name="stats" select="$methstats" />
1263
- <xsl:with-param name="countText" select="$countTextDisplay" />
1264
- <xsl:with-param name="styleTweak">padding-left:40px;font-style:italic</xsl:with-param>
1265
- <xsl:with-param name="scale">
1266
- <xsl:value-of select ="$graphscale * .7" />
1267
- </xsl:with-param>
1268
- <xsl:with-param name="showBottomLine">True</xsl:with-param>
1269
- </xsl:call-template>
1270
- </xsl:when>
1271
- <xsl:when test="$isTrendReport">
1272
- <xsl:call-template name="trendsCoverageDetail">
1273
- <xsl:with-param name="name" select="name" />
1274
- <xsl:with-param name="stats" select="$methstats" />
1275
- <xsl:with-param name="countText" select="$countTextDisplay" />
1276
- <xsl:with-param name="styleTweak">padding-left:40px;font-style:italic</xsl:with-param>
1277
- <xsl:with-param name="scale">
1278
- <xsl:value-of select ="$graphscale * .7" />
1279
- </xsl:with-param>
1280
- <xsl:with-param name="showBottomLine">True</xsl:with-param>
1281
- </xsl:call-template>
1282
- </xsl:when>
1283
- <xsl:otherwise>
1284
- <xsl:call-template name="coverageDetail">
1285
- <xsl:with-param name="name" select="name" />
1286
- <xsl:with-param name="stats" select="$methstats" />
1287
- <xsl:with-param name="countText" select="$countTextDisplay" />
1288
- <xsl:with-param name="styleTweak">padding-left:40px;font-style:italic</xsl:with-param>
1289
- <xsl:with-param name="scale">
1290
- <xsl:value-of select ="$graphscale * .7" />
1291
- </xsl:with-param>
1292
- <xsl:with-param name="showBottomLine">True</xsl:with-param>
1293
- </xsl:call-template>
1294
- </xsl:otherwise>
1295
- </xsl:choose>
1296
- </xsl:template>
1297
-
1298
- <!--Start Diff Templates-->
1299
-
1300
- <!-- Common Summary Header information -->
1301
- <xsl:template name="diffSummaryCommon">
1302
- <xsl:param name="threshold" />
1303
- <xsl:param name="unvisitedTitle" />
1304
- <xsl:param name="coverageTitle">Coverage</xsl:param>
1305
- <xsl:param name="printClasses" />
1306
- <xsl:param name="printMethods" />
1307
-
1308
- <xsl:for-each select="$root/mod[string(stats/@ex) != '1']">
1309
- <!--We want to determine how many items can be shows above a percent-->
1310
- <xsl:variable xml:space="preserve" name="qualifiedmethods"><xsl:call-template name="qualifiednodes" /></xsl:variable>
1311
- <xsl:if test="$qualifiedmethods > 0">
1312
- <xsl:variable name="modstats" select="stats[last()]" />
1313
-
1314
- <xsl:call-template name="diffSectionTableHeader">
1315
- <xsl:with-param name="coverageTitle" select="$coverageTitle" />
1316
- <xsl:with-param name="sectionTitle">Module</xsl:with-param>
1317
- <xsl:with-param name="cellClass">secondaryTable</xsl:with-param>
1318
- <xsl:with-param name="showThreshold">True</xsl:with-param>
1319
- </xsl:call-template>
1320
-
1321
- <xsl:call-template name="diffCoverageDetail">
1322
- <xsl:with-param name="name" select="assembly" />
1323
- <xsl:with-param name="stats" select="$modstats" />
1324
- <xsl:with-param name="showThreshold">True</xsl:with-param>
1325
- </xsl:call-template>
1326
- <tr>
1327
- <td class="secondaryChildTable ctHeader" colspan="{$tablecolumns}">
1328
- Namespace <xsl:if test="$printClasses = 'True'"> / Classes</xsl:if>
1329
- </td>
1330
- </tr>
1331
- <!--print the Namespaces classes and methods-->
1332
- <xsl:call-template name="namespaceClassMethodSummary">
1333
- <xsl:with-param name="printClasses" select="$printClasses" />
1334
- <xsl:with-param name="printMethods" select="$printMethods" />
1335
- </xsl:call-template>
1336
- </xsl:if>
1337
- </xsl:for-each>
1338
- </xsl:template>
1339
-
1340
- <!-- Project Summary diff report-->
1341
- <xsl:template name="diffProjectSummary">
1342
- <xsl:param name="threshold" />
1343
- <xsl:param name="unvisitedTitle" />
1344
- <xsl:param name="coverageTitle" />
1345
- <!--The Total points or methods-->
1346
- <xsl:variable name="total">
1347
- <xsl:call-template name="gettotal">
1348
- <xsl:with-param name="stats" select="$projectstats" />
1349
- </xsl:call-template>
1350
- </xsl:variable>
1351
-
1352
- <xsl:call-template name="diffSectionTableHeader">
1353
- <xsl:with-param name="coverageTitle" select="$coverageTitle" />
1354
- <xsl:with-param name="sectionTitle">Project</xsl:with-param>
1355
- <xsl:with-param name="cellClass">projectTable</xsl:with-param>
1356
- <xsl:with-param name="showThreshold">True</xsl:with-param>
1357
- </xsl:call-template>
1358
-
1359
- <xsl:call-template name="diffCoverageDetail">
1360
- <xsl:with-param name="name">
1361
- <xsl:choose>
1362
- <xsl:when test="string-length($reportName) > 0">
1363
- <xsl:value-of select="$reportName" />
1364
- </xsl:when>
1365
- <xsl:otherwise>&#160;</xsl:otherwise>
1366
- </xsl:choose>
1367
- </xsl:with-param>
1368
- <xsl:with-param name="stats" select="$projectstats" />
1369
- <xsl:with-param name="showThreshold">True</xsl:with-param>
1370
- <xsl:with-param name="showBottomLine">True</xsl:with-param>
1371
- </xsl:call-template>
1372
- </xsl:template>
1373
-
1374
- <!--Build the header for each of the sections.
1375
- It removes the complexity of building the multi table headers for the project and then the modules-->
1376
- <xsl:template name="diffSectionTableHeader">
1377
- <xsl:param name="coverageTitle" />
1378
- <xsl:param name="sectionTitle" />
1379
- <xsl:param name="cellClass" />
1380
- <xsl:param name="showThreshold" />
1381
-
1382
- <!--We want to determine how many items can be shows above a percent-->
1383
- <xsl:variable xml:space="preserve" name="qualifiedmethods"><xsl:call-template name="qualifiednodes" /></xsl:variable>
1384
- <xsl:if test="$qualifiedmethods > 0">
1385
- <!--white space-->
1386
- <tr>
1387
- <td colspan="{$tablecolumns}">&#160;</td>
1388
- </tr>
1389
-
1390
- <!--Top row showing SP and BP Data-->
1391
- <tr>
1392
- <td class="{$cellClass} mtHdLeftTop">&#160;</td>
1393
- <td class="{$cellClass} mtHdRightTop" colspan="3">
1394
- Sequence Points %
1395
- </td>
1396
- <xsl:if test="$reportBranchPoints">
1397
- <td class="{$cellClass} mtHdRightTop" colspan="3">
1398
- Branch Points %
1399
- </td>
1400
- </xsl:if>
1401
- <td class="{$cellClass} mtHdRightTop" colspan="3">
1402
- Line Visits %
1403
- </td>
1404
- <td class="{$cellClass} mtHdRightTop" colspan="3">
1405
- Method Visits %
1406
- </td>
1407
- <xsl:if test="$reportCC">
1408
- <td class="{$cellClass} mtHdRightTop" colspan="3">
1409
- C.C.
1410
- </td>
1411
- </xsl:if>
1412
- </tr>
1413
-
1414
-
1415
- <tr>
1416
- <td class="{$cellClass} mtHdLeft">
1417
- <xsl:value-of select="$sectionTitle" disable-output-escaping="yes" />
1418
- </td>
1419
- <td class="{$cellClass} mtHd">Was</td>
1420
- <td class="{$cellClass} mtHd">Now</td>
1421
- <td class="{$cellClass} mtHd">Diff</td>
1422
-
1423
-
1424
- <xsl:if test="$reportBranchPoints">
1425
- <td class="{$cellClass} mtHd">Was</td>
1426
- <td class="{$cellClass} mtHd">Now</td>
1427
- <td class="{$cellClass} mtHd">Diff</td>
1428
- </xsl:if>
1429
-
1430
- <td class="{$cellClass} mtHd">Was</td>
1431
- <td class="{$cellClass} mtHd">Now</td>
1432
- <td class="{$cellClass} mtHd">Diff</td>
1433
-
1434
- <td class="{$cellClass} mtHd">Was</td>
1435
- <td class="{$cellClass} mtHd">Now</td>
1436
- <td class="{$cellClass} mtHd">Diff</td>
1437
-
1438
- <xsl:if test="$reportCC">
1439
- <td class="{$cellClass} mtHd">Was</td>
1440
- <td class="{$cellClass} mtHd">Now</td>
1441
- <td class="{$cellClass} mtHd">Diff</td>
1442
- </xsl:if>
1443
- </tr>
1444
- </xsl:if>
1445
- </xsl:template>
1446
-
1447
- <xsl:template name="diffCoverageDetail">
1448
- <xsl:param name="name" />
1449
- <xsl:param name="stats" />
1450
- <xsl:param name="showThreshold" />
1451
- <xsl:param name="showBottomLine" />
1452
- <!--By default this needs to be unvisited count-->
1453
- <xsl:param name="countText">
1454
- <xsl:call-template name="unvisiteditems">
1455
- <xsl:with-param name="stats" select="$stats" />
1456
- </xsl:call-template>
1457
- </xsl:param>
1458
- <xsl:param name="styleTweak" />
1459
- <xsl:param name="scale" select="$graphscale" />
1460
-
1461
- <xsl:variable name="totalsymbol" select="$stats/@vsp + $stats/@usp" />
1462
- <xsl:variable name="totalsymbol-diff" select="$stats/@dvsp + $stats/@dusp" />
1463
- <xsl:variable name="totalbranch" select="$stats/@vbp + $stats/@ubp" />
1464
- <xsl:variable name="totalbranch-diff" select="$stats/@dvbp + $stats/@dubp" />
1465
- <xsl:variable name="totalline" select="$stats/@vl + $stats/@ul" />
1466
- <xsl:variable name="totalline-diff" select="$stats/@dvl + $stats/@dul" />
1467
- <xsl:variable name="totalmethod" select="$stats/@vm + $stats/@um" />
1468
- <xsl:variable name="totalmethod-diff" select="$stats/@dvm + $stats/@dum" />
1469
-
1470
- <xsl:variable name="coveragesymbol">
1471
- <xsl:choose>
1472
- <xsl:when test="$totalsymbol = 0">-</xsl:when>
1473
- <xsl:otherwise>
1474
- <xsl:value-of select="($stats/@vsp div $totalsymbol) * 100" />
1475
- </xsl:otherwise>
1476
- </xsl:choose>
1477
- </xsl:variable>
1478
-
1479
- <xsl:variable name="coveragesymbol-diff">
1480
- <xsl:choose>
1481
- <xsl:when test="$totalsymbol-diff = 0">-</xsl:when>
1482
- <xsl:otherwise>
1483
- <xsl:value-of select="($stats/@dvsp div $totalsymbol-diff) * 100" />
1484
- </xsl:otherwise>
1485
- </xsl:choose>
1486
- </xsl:variable>
1487
-
1488
- <xsl:variable name="coveragebranch">
1489
- <xsl:choose>
1490
- <xsl:when test="$totalbranch = 0">-</xsl:when>
1491
- <xsl:otherwise>
1492
- <xsl:value-of select="($stats/@vbp div $totalbranch) * 100" />
1493
- </xsl:otherwise>
1494
- </xsl:choose>
1495
- </xsl:variable>
1496
-
1497
- <xsl:variable name="coveragebranch-diff">
1498
- <xsl:choose>
1499
- <xsl:when test="$totalbranch-diff = 0">-</xsl:when>
1500
- <xsl:otherwise>
1501
- <xsl:value-of select="($stats/@dvbp div $totalbranch-diff) * 100" />
1502
- </xsl:otherwise>
1503
- </xsl:choose>
1504
- </xsl:variable>
1505
-
1506
- <xsl:variable name="coverageline">
1507
- <xsl:choose>
1508
- <xsl:when test="$totalline = 0">-</xsl:when>
1509
- <xsl:otherwise>
1510
- <xsl:value-of select="($stats/@vl div $totalline) * 100" />
1511
- </xsl:otherwise>
1512
- </xsl:choose>
1513
- </xsl:variable>
1514
-
1515
- <xsl:variable name="coverageline-diff">
1516
- <xsl:choose>
1517
- <xsl:when test="$totalline-diff = 0">-</xsl:when>
1518
- <xsl:otherwise>
1519
- <xsl:value-of select="($stats/@dvl div $totalline-diff) * 100" />
1520
- </xsl:otherwise>
1521
- </xsl:choose>
1522
- </xsl:variable>
1523
-
1524
- <xsl:variable name="coveragemethod">
1525
- <xsl:choose>
1526
- <xsl:when test="$totalmethod = 0">-</xsl:when>
1527
- <xsl:otherwise>
1528
- <xsl:value-of select="($stats/@vm div $totalmethod) * 100" />
1529
- </xsl:otherwise>
1530
- </xsl:choose>
1531
- </xsl:variable>
1532
-
1533
- <xsl:variable name="coveragemethod-diff">
1534
- <xsl:choose>
1535
- <xsl:when test="$totalmethod-diff = 0">-</xsl:when>
1536
- <xsl:otherwise>
1537
- <xsl:value-of select="($stats/@dvm div $totalmethod-diff) * 100" />
1538
- </xsl:otherwise>
1539
- </xsl:choose>
1540
- </xsl:variable>
1541
-
1542
- <!--We want to determine how many items can be shows above a percent-->
1543
- <xsl:variable xml:space="preserve" name="qualifiedmethods"><xsl:call-template name="qualifiednodes" /></xsl:variable>
1544
- <xsl:if test="$qualifiedmethods > 0">
1545
- <tr>
1546
- <td>
1547
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mtcItem</xsl:attribute>
1548
- <xsl:if test="$styleTweak != ''" xml:space="preserve"><xsl:attribute name="style"><xsl:value-of select="$styleTweak"/></xsl:attribute></xsl:if>
1549
- <div class="mtDiv">
1550
- <xsl:value-of select="$name" />
1551
- </div>
1552
- </td>
1553
-
1554
- <td>
1555
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR</xsl:attribute>
1556
- <xsl:call-template name="printcoverage">
1557
- <xsl:with-param name="coverage" select="$coveragesymbol-diff"></xsl:with-param>
1558
- <xsl:with-param name="nopercent" select="'1'"/>
1559
- </xsl:call-template>
1560
- </td>
1561
-
1562
- <td>
1563
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR</xsl:attribute>
1564
- <xsl:call-template name="printcoverage">
1565
- <xsl:with-param name="coverage" select="$coveragesymbol"></xsl:with-param>
1566
- <xsl:with-param name="nopercent" select="'1'"/>
1567
- </xsl:call-template>
1568
- </td>
1569
-
1570
- <td>
1571
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR1 <xsl:choose><xsl:when test="$coveragesymbol - $coveragesymbol-diff &lt; 0"> dn</xsl:when><xsl:when test="$coveragesymbol - $coveragesymbol-diff &gt; 0"> up</xsl:when><xsl:otherwise></xsl:otherwise></xsl:choose></xsl:attribute>
1572
- <xsl:call-template name="printcoverage">
1573
- <xsl:with-param name="coverage" select="$coveragesymbol - $coveragesymbol-diff"></xsl:with-param>
1574
- <xsl:with-param name="nopercent" select="'1'"/>
1575
- </xsl:call-template>
1576
- </td>
1577
-
1578
- <!--This section can be hard coded to branch points since that is all that it does.-->
1579
- <xsl:if test="$reportBranchPoints">
1580
- <td>
1581
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR</xsl:attribute>
1582
- <xsl:call-template name="printcoverage">
1583
- <xsl:with-param name="coverage" select="$coveragebranch-diff"></xsl:with-param>
1584
- <xsl:with-param name="nopercent" select="'1'"/>
1585
- </xsl:call-template>
1586
- </td>
1587
-
1588
- <td>
1589
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR</xsl:attribute>
1590
- <xsl:call-template name="printcoverage">
1591
- <xsl:with-param name="coverage" select="$coveragebranch"></xsl:with-param>
1592
- <xsl:with-param name="nopercent" select="'1'"/>
1593
- </xsl:call-template>
1594
- </td>
1595
-
1596
- <td>
1597
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR1 <xsl:choose><xsl:when test="$coveragebranch - $coveragebranch-diff &lt; 0"> dn</xsl:when><xsl:when test="$coveragebranch - $coveragebranch-diff &gt; 0"> up</xsl:when><xsl:otherwise></xsl:otherwise></xsl:choose></xsl:attribute>
1598
- <xsl:call-template name="printcoverage">
1599
- <xsl:with-param name="coverage" select=" $coveragebranch - $coveragebranch-diff"></xsl:with-param>
1600
- <xsl:with-param name="nopercent" select="'1'"/>
1601
- </xsl:call-template>
1602
- </td>
1603
- </xsl:if>
1604
-
1605
- <td>
1606
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR</xsl:attribute>
1607
- <xsl:call-template name="printcoverage">
1608
- <xsl:with-param name="coverage" select="$coverageline-diff"></xsl:with-param>
1609
- <xsl:with-param name="nopercent" select="'1'"/>
1610
- </xsl:call-template>
1611
- </td>
1612
-
1613
- <td>
1614
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR</xsl:attribute>
1615
- <xsl:call-template name="printcoverage">
1616
- <xsl:with-param name="coverage" select="$coverageline"></xsl:with-param>
1617
- <xsl:with-param name="nopercent" select="'1'"/>
1618
- </xsl:call-template>
1619
- </td>
1620
-
1621
- <td>
1622
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR1 <xsl:choose><xsl:when test="$coverageline - $coverageline-diff &lt; 0"> dn</xsl:when><xsl:when test="$coverageline - $coverageline-diff &gt; 0"> up</xsl:when><xsl:otherwise></xsl:otherwise></xsl:choose></xsl:attribute>
1623
- <xsl:call-template name="printcoverage">
1624
- <xsl:with-param name="coverage" select="$coverageline - $coverageline-diff"></xsl:with-param>
1625
- <xsl:with-param name="nopercent" select="'1'"/>
1626
- </xsl:call-template>
1627
- </td>
1628
-
1629
-
1630
- <td>
1631
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR</xsl:attribute>
1632
- <xsl:call-template name="printcoverage">
1633
- <xsl:with-param name="coverage" select="$coveragemethod-diff"></xsl:with-param>
1634
- <xsl:with-param name="nopercent" select="'1'"/>
1635
- </xsl:call-template>
1636
- </td>
1637
-
1638
- <td>
1639
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR</xsl:attribute>
1640
- <xsl:call-template name="printcoverage">
1641
- <xsl:with-param name="coverage" select="$coveragemethod"></xsl:with-param>
1642
- <xsl:with-param name="nopercent" select="'1'"/>
1643
- </xsl:call-template>
1644
- </td>
1645
-
1646
- <td>
1647
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR1 <xsl:choose><xsl:when test="$coveragemethod - $coveragemethod-diff &lt; 0"> dn</xsl:when><xsl:when test="$coveragemethod - $coveragemethod-diff &gt; 0"> up</xsl:when><xsl:otherwise></xsl:otherwise></xsl:choose></xsl:attribute>
1648
- <xsl:call-template name="printcoverage">
1649
- <xsl:with-param name="coverage" select="$coveragemethod - $coveragemethod-diff"></xsl:with-param>
1650
- <xsl:with-param name="nopercent" select="'1'"/>
1651
- </xsl:call-template>
1652
- </td>
1653
-
1654
- <xsl:if test="$reportCC">
1655
- <td>
1656
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR</xsl:attribute>
1657
- <xsl:choose>
1658
- <xsl:when test="$stats/@diffdata = 1">
1659
- <xsl:value-of select="format-number($stats/@dccavg,'#0.0')" /> / <xsl:value-of select="$stats/@dccmax" />
1660
- </xsl:when>
1661
- <xsl:otherwise>
1662
- -
1663
- </xsl:otherwise>
1664
- </xsl:choose>
1665
-
1666
- </td>
1667
-
1668
- <td>
1669
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR</xsl:attribute>
1670
- <xsl:value-of select="format-number($stats/@ccavg,'#0.0')" /> / <xsl:value-of select="$stats/@ccmax" />
1671
- </td>
1672
-
1673
-
1674
- <td>
1675
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR <xsl:choose><xsl:when test="$stats/@ccmax - $stats/@dccmax &lt; 0"> dn</xsl:when><xsl:when test="$stats/@ccmax - $stats/@dccmax &gt; 0"> up</xsl:when><xsl:otherwise></xsl:otherwise></xsl:choose></xsl:attribute>
1676
- <xsl:choose>
1677
- <xsl:when test="$stats/@diffdata = 1">
1678
- <xsl:value-of select="format-number($stats/@ccavg - $stats/@dccavg,'#0.0')" /> / <xsl:value-of select="$stats/@ccmax - $stats/@dccmax" />
1679
- </xsl:when>
1680
- <xsl:otherwise>
1681
- -
1682
- </xsl:otherwise>
1683
- </xsl:choose>
1684
- </td>
1685
-
1686
- </xsl:if>
1687
- </tr>
1688
- </xsl:if>
1689
- </xsl:template>
1690
-
1691
- <!--End Diff Templates-->
1692
-
1693
- <!--Begin Trends Templates-->
1694
- <!--summaryCommon-->
1695
- <xsl:template name="trendsSummaryCommon">
1696
- <xsl:param name="threshold" />
1697
- <xsl:param name="unvisitedTitle" />
1698
- <xsl:param name="coverageTitle">Coverage</xsl:param>
1699
- <xsl:param name="printClasses" />
1700
- <xsl:param name="printMethods" />
1701
- <!--Don't show anything if the data does not exist.-->
1702
- <xsl:if test="$trendsdataexist">
1703
- <xsl:for-each select="$root/mod[string(stats/@ex) != '1']">
1704
- <!--We want to determine how many items can be shows above a percent-->
1705
- <xsl:variable xml:space="preserve" name="qualifiedmethods"><xsl:call-template name="qualifiednodes" /></xsl:variable>
1706
- <xsl:if test="$qualifiedmethods > 0">
1707
- <xsl:variable name="modstats" select="stats[last()]" />
1708
-
1709
- <xsl:call-template name="trendsSectionTableHeader">
1710
- <xsl:with-param name="unvisitedTitle" select="'U.V.'" />
1711
- <xsl:with-param name="coverageTitle" select="$coverageTitle" />
1712
- <xsl:with-param name="sectionTitle">Module</xsl:with-param>
1713
- <xsl:with-param name="cellClass">secondaryTable</xsl:with-param>
1714
- <xsl:with-param name="showThreshold">True</xsl:with-param>
1715
- </xsl:call-template>
1716
-
1717
- <xsl:call-template name="trendsCoverageDetail">
1718
- <xsl:with-param name="name" select="assembly" />
1719
- <xsl:with-param name="stats" select="$modstats" />
1720
- <xsl:with-param name="showTrendGraph">True</xsl:with-param>
1721
- <xsl:with-param name="showThreshold">True</xsl:with-param>
1722
- </xsl:call-template>
1723
- <tr>
1724
- <td class="secondaryChildTable ctHeader" valign="bottom">
1725
- <xsl:attribute name="colspan" xml:space="preserve"><xsl:choose><xsl:when test="$threshold = 'True'"><xsl:value-of select="$tablecolumns"/></xsl:when><xsl:otherwise><xsl:value-of select="$tablecolumns"/></xsl:otherwise></xsl:choose></xsl:attribute>
1726
- Namespace <xsl:if test="$printClasses = 'True'"> / Classes</xsl:if>
1727
- </td>
1728
- </tr>
1729
- <!--print the Namespaces classes and methods-->
1730
- <xsl:call-template name="namespaceClassMethodSummary">
1731
- <xsl:with-param name="printClasses" select="$printClasses" />
1732
- <xsl:with-param name="printMethods" select="$printMethods" />
1733
- </xsl:call-template>
1734
- </xsl:if>
1735
- </xsl:for-each>
1736
- </xsl:if>
1737
- </xsl:template>
1738
-
1739
- <xsl:template name="trendTDAttributes">
1740
- <xsl:param name="stats" />
1741
- <xsl:param name="threshold" />
1742
- <xsl:attribute name="colspan" xml:space="preserve"><xsl:choose><xsl:when test="$threshold = 'True'">6</xsl:when><xsl:otherwise>5</xsl:otherwise></xsl:choose></xsl:attribute>
1743
- <xsl:attribute xml:space="preserve" name="data"><xsl:for-each select="$stats/tp"><xsl:value-of select="format-number(@v,'#0')"/><xsl:if test="position() != last()">,</xsl:if></xsl:for-each></xsl:attribute>
1744
- <xsl:attribute xml:space="preserve" name="min"><xsl:call-template name="trendThreshold"><xsl:with-param name="stats" select="$stats" /></xsl:call-template></xsl:attribute>
1745
- Enable Javascript for Trend Graph (see IE Warning on top of browser)
1746
- </xsl:template>
1747
-
1748
- <!-- projectSummary -->
1749
- <xsl:template name="trendsProjectSummary">
1750
- <xsl:param name="threshold" />
1751
- <xsl:param name="unvisitedTitle" />
1752
- <xsl:param name="coverageTitle" />
1753
- <!--The Total points or methods-->
1754
- <xsl:variable name="total">
1755
- <xsl:call-template name="gettotal">
1756
- <xsl:with-param name="stats" select="$projectstats" />
1757
- </xsl:call-template>
1758
- </xsl:variable>
1759
-
1760
- <!--Don't show anything if the data does not exist.-->
1761
- <xsl:if test="$trendsdataexist">
1762
- <xsl:call-template name="trendsSectionTableHeader">
1763
- <xsl:with-param name="unvisitedTitle" select="$unvisitedTitle" />
1764
- <xsl:with-param name="coverageTitle" select="$coverageTitle" />
1765
- <xsl:with-param name="sectionTitle">Project</xsl:with-param>
1766
- <xsl:with-param name="cellClass">projectTable</xsl:with-param>
1767
- <xsl:with-param name="showThreshold">True</xsl:with-param>
1768
- </xsl:call-template>
1769
-
1770
- <xsl:call-template name="trendsCoverageDetail">
1771
- <xsl:with-param name="name">
1772
- <xsl:choose>
1773
- <xsl:when test="string-length($reportName) > 0">
1774
- <xsl:value-of select="$reportName" />
1775
- </xsl:when>
1776
- <xsl:otherwise>&#160;</xsl:otherwise>
1777
- </xsl:choose>
1778
- </xsl:with-param>
1779
- <xsl:with-param name="stats" select="$projectstats" />
1780
- <xsl:with-param name="showTrendGraph">True</xsl:with-param>
1781
- <xsl:with-param name="showThreshold">True</xsl:with-param>
1782
- <xsl:with-param name="showBottomLine">True</xsl:with-param>
1783
- </xsl:call-template>
1784
- </xsl:if>
1785
- </xsl:template>
1786
-
1787
-
1788
- <!-- sectionTableHeader -->
1789
- <!--Build the header for each of the sections.
1790
- It removes the complexity of building the multi table headers for the project and then the modules-->
1791
- <xsl:template name="trendsSectionTableHeader">
1792
- <xsl:param name="unvisitedTitle" />
1793
- <xsl:param name="coverageTitle" />
1794
- <xsl:param name="sectionTitle" />
1795
- <xsl:param name="cellClass" />
1796
- <xsl:param name="showThreshold" />
1797
-
1798
- <!--We want to determine how many items can be shows above a percent-->
1799
- <xsl:variable xml:space="preserve" name="qualifiedmethods"><xsl:call-template name="qualifiednodes" /></xsl:variable>
1800
- <xsl:if test="$qualifiedmethods > 0">
1801
- <!--white space-->
1802
- <tr>
1803
- <td colspan="{$tablecolumns}">&#160;</td>
1804
- </tr>
1805
-
1806
- <tr>
1807
- <td class="{$cellClass} mtHdLeftTop">&#160;</td>
1808
- <td class="{$cellClass} mtHdRightTop">
1809
- <xsl:attribute name="colspan" xml:space="preserve"><xsl:choose><xsl:when test="$showThreshold = 'True'">5</xsl:when><xsl:otherwise>4</xsl:otherwise></xsl:choose></xsl:attribute>
1810
- <xsl:choose>
1811
- <xsl:when test="$trendCoverageMetric = 'SequencePoints' or $trendCoverageMetric = 'SymbolCoverage'">Symbol Coverage</xsl:when>
1812
- <xsl:when test="$trendCoverageMetric = 'BranchPoints' or $trendCoverageMetric = 'BranchCoverage'">Branch Coverage</xsl:when>
1813
- <xsl:when test="$trendCoverageMetric = 'MethodCoverage'">Method Coverage</xsl:when>
1814
- <xsl:when test="$trendCoverageMetric = 'LineCoverage'">Line Coverage</xsl:when>
1815
- <xsl:when test="$trendCoverageMetric = 'CyclomaticComplexity'">Cyclomatic Complexity Coverage</xsl:when>
1816
- <xsl:otherwise>Unknown Coverage</xsl:otherwise>
1817
- </xsl:choose>
1818
- </td>
1819
- </tr>
1820
-
1821
- <tr>
1822
- <td>
1823
- <xsl:attribute xml:space="preserve" name="class"><xsl:value-of select="$cellClass" /><xsl:choose><xsl:when test="$isFunctionReport"> mtHdLeftFunc</xsl:when><xsl:otherwise> mtHdLeft</xsl:otherwise></xsl:choose></xsl:attribute>
1824
- <xsl:value-of select="$sectionTitle" disable-output-escaping="yes" />
1825
- </td>
1826
- <xsl:if test="$showThreshold = 'True'">
1827
- <td class="{$cellClass} mtHd">Accept</td>
1828
- </xsl:if>
1829
- <td class="{$cellClass} mtHd">
1830
- Min %
1831
- </td>
1832
- <td class="{$cellClass} mtHd">
1833
- Max %
1834
- </td>
1835
- <td class="{$cellClass} mtHd">
1836
- Cov %
1837
- </td>
1838
- <td class="{$cellClass} mtHd">
1839
- Trend
1840
- </td>
1841
- </tr>
1842
- </xsl:if>
1843
- </xsl:template>
1844
-
1845
- <!-- coverageDetail -->
1846
- <!-- Coverage detail row in main grid displaying a name, statistics and graph bar -->
1847
- <xsl:template name="trendsCoverageDetail">
1848
- <xsl:param name="name" />
1849
- <xsl:param name="stats" />
1850
- <xsl:param name="showTrendGraph" />
1851
- <xsl:param name="showThreshold" />
1852
- <xsl:param name="showBottomLine" />
1853
- <!--By default this needs to be unvisited count-->
1854
- <xsl:param name="countText">
1855
- <xsl:call-template name="unvisiteditems">
1856
- <xsl:with-param name="stats" select="$stats" />
1857
- </xsl:call-template>
1858
- </xsl:param>
1859
- <xsl:param name="styleTweak" />
1860
- <xsl:param name="scale" select="$graphscale" />
1861
- <xsl:variable name="total">
1862
- <xsl:choose xml:space="preserve">
1863
- <xsl:when test="$trendCoverageMetric = 'SequencePoints' or $trendCoverageMetric = 'SymbolCoverage'"><xsl:value-of select="$stats/@usp + $stats/@vsp" /></xsl:when>
1864
- <xsl:when test="$trendCoverageMetric = 'BranchPoints' or $trendCoverageMetric = 'BranchCoverage'"><xsl:value-of select="$stats/@ubp + $stats/@vbp" /></xsl:when>
1865
- <xsl:when test="$trendCoverageMetric = 'MethodCoverage'"><xsl:value-of select="$stats/@um + $stats/@vm" /></xsl:when>
1866
- <xsl:when test="$trendCoverageMetric = 'LineCoverage'"><xsl:value-of select="$stats/@ul + $stats/@vl" /></xsl:when>
1867
- <xsl:when test="$trendCoverageMetric = 'CyclomaticComplexity'"><xsl:value-of select="$stats/@ccmax" /></xsl:when>
1868
- <xsl:otherwise>0</xsl:otherwise>
1869
- </xsl:choose>
1870
- </xsl:variable>
1871
- <xsl:variable name="coverage">
1872
- <xsl:choose xml:space="preserve">
1873
- <xsl:when test="$total = 0">-</xsl:when>
1874
- <xsl:when test="$trendCoverageMetric = 'SequencePoints' or $trendCoverageMetric = 'SymbolCoverage'"><xsl:value-of select="($stats/@vsp div $total) * 100" /></xsl:when>
1875
- <xsl:when test="$trendCoverageMetric = 'BranchPoints' or $trendCoverageMetric = 'BranchCoverage'"><xsl:value-of select="($stats/@vbp div $total) * 100" /></xsl:when>
1876
- <xsl:when test="$trendCoverageMetric = 'MethodCoverage'"><xsl:value-of select="($stats/@vm div $total) * 100" /></xsl:when>
1877
- <xsl:when test="$trendCoverageMetric = 'LineCoverage'"><xsl:value-of select="($stats/@vl div $total) * 100" /></xsl:when>
1878
- <xsl:when test="$trendCoverageMetric = 'CyclomaticComplexity'">-</xsl:when>
1879
- <xsl:otherwise>-</xsl:otherwise>
1880
- </xsl:choose>
1881
- </xsl:variable>
1882
- <xsl:variable name="threshold">
1883
- <xsl:call-template name="trendThreshold">
1884
- <xsl:with-param name="stats" select="$stats" />
1885
- </xsl:call-template>
1886
- </xsl:variable>
1887
- <!--We need to set the class for the coverage-->
1888
- <xsl:variable name="coverageclass" xml:space="preserve"><xsl:choose><xsl:when test="$coverage = '-' or threshold = '-'"></xsl:when><xsl:when test="$coverage &gt;= $threshold">up</xsl:when><xsl:when test="$coverage &lt; $threshold">dn</xsl:when></xsl:choose></xsl:variable>
1889
- <xsl:variable name="min" xml:space="preserve"><xsl:call-template name="min"><xsl:with-param name="pSeq" select="$stats/tp[@v > -1]/@v"></xsl:with-param></xsl:call-template></xsl:variable>
1890
- <xsl:variable name="max" xml:space="preserve"><xsl:call-template name="max"><xsl:with-param name="pSeq" select="$stats/tp/@v"></xsl:with-param></xsl:call-template></xsl:variable>
1891
- <xsl:variable name="firsttrend" xml:space="preserve"><xsl:choose><xsl:when test="$stats/tp[position() = 1]/@v = -1">0</xsl:when><xsl:otherwise><xsl:value-of select="$stats/tp[position() = 1]/@v"/></xsl:otherwise></xsl:choose></xsl:variable>
1892
- <xsl:variable name="lasttrend" xml:space="preserve"><xsl:choose><xsl:when test="$stats/tp[position() = last()]/@v = -1">0</xsl:when><xsl:otherwise><xsl:value-of select="$stats/tp[position() = last()]/@v"/></xsl:otherwise></xsl:choose></xsl:variable>
1893
- <xsl:variable name="fulltrendamount" xml:space="preserve"><xsl:value-of select="$lasttrend - $firsttrend"/></xsl:variable>
1894
- <xsl:variable name="fulltrendclass" xml:space="preserve"><xsl:choose><xsl:when test="$fulltrendamount &gt; 0">up</xsl:when><xsl:when test="$fulltrendamount &lt; 0">dn</xsl:when></xsl:choose></xsl:variable>
1895
-
1896
- <!--We want to determine how many items can be shows above a percent-->
1897
- <xsl:variable xml:space="preserve" name="qualifiedmethods"><xsl:call-template name="qualifiednodes" /></xsl:variable>
1898
- <xsl:if test="$qualifiedmethods > 0">
1899
- <tr>
1900
- <xsl:choose>
1901
- <xsl:when test="$showThreshold='True'">
1902
- <td>
1903
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mtcItem</xsl:attribute>
1904
- <xsl:attribute name="style">padding-right:0px;<xsl:value-of select="$styleTweak"/></xsl:attribute>
1905
- <xsl:choose>
1906
- <xsl:when test="$showTrendGraph='True'">
1907
- <table width="100%" padding="0" cellpadding="0" cellspacing="0" border="0">
1908
- <tr>
1909
- <td>
1910
- <div class="trendTitle">
1911
- <xsl:value-of select="$name" />
1912
- </div>
1913
- </td>
1914
- <td align="right">
1915
- <div class="trGr" style="width:200px;border: 1px solid black;">
1916
- <xsl:call-template name="trendTDAttributes">
1917
- <xsl:with-param name="stats" select="./stats" />
1918
- <xsl:with-param name="threshold" select="$showThreshold" />
1919
- </xsl:call-template>
1920
- </div>
1921
- </td>
1922
- </tr>
1923
- </table>
1924
- </xsl:when>
1925
- <xsl:otherwise>
1926
- <div class="mtDiv">
1927
- <xsl:value-of select="$name" />
1928
- </div>
1929
- </xsl:otherwise>
1930
- </xsl:choose>
1931
- </td>
1932
- <td>
1933
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR</xsl:attribute>
1934
- <xsl:value-of select="concat(format-number($threshold,'#0.0'), ' %')" />
1935
- </td>
1936
- </xsl:when>
1937
- <xsl:otherwise>
1938
- <td colspan="2">
1939
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mtcItem</xsl:attribute>
1940
- <xsl:if test="$styleTweak != ''" xml:space="preserve"><xsl:attribute name="style"><xsl:value-of select="$styleTweak"/></xsl:attribute></xsl:if>
1941
- <div class="mtDiv">
1942
- <xsl:value-of select="$name" />
1943
- </div>
1944
- </td>
1945
- </xsl:otherwise>
1946
- </xsl:choose>
1947
- <td>
1948
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR</xsl:attribute>
1949
- <xsl:choose>
1950
- <xsl:when test="string($min) = ''">-</xsl:when>
1951
- <xsl:otherwise>
1952
- <xsl:value-of select="format-number($min,'#0.0')"/>
1953
- </xsl:otherwise>
1954
- </xsl:choose>
1955
- </td>
1956
- <td>
1957
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mR</xsl:attribute>
1958
- <xsl:choose>
1959
- <xsl:when test="string($max) = ''">-</xsl:when>
1960
- <xsl:otherwise>
1961
- <xsl:value-of select="format-number($max,'#0.0')"/>
1962
- </xsl:otherwise>
1963
- </xsl:choose>
1964
- </td>
1965
- <td>
1966
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if> mR <xsl:value-of select="$coverageclass"/></xsl:attribute>
1967
- <xsl:choose>
1968
- <xsl:when test="string($coverage) = 'NaN' or $coverage = '-'">
1969
- -
1970
- </xsl:when>
1971
- <xsl:otherwise>
1972
- <xsl:value-of select="format-number($coverage,'#0.0')"/>
1973
- </xsl:otherwise>
1974
- </xsl:choose>
1975
- </td>
1976
- <td>
1977
- <xsl:attribute xml:space="preserve" name="class"><xsl:if test="$showBottomLine = 'True'">mb </xsl:if>mPt mR <xsl:value-of select="$fulltrendclass"/></xsl:attribute>
1978
- <!--<xsl:attribute xml:space="preserve" name="data"><xsl:if test="name(.) != 'class' and name(.) != 'method'"><xsl:for-each select="./stats/tp"><xsl:value-of select="format-number(@v,'#0')"/><xsl:if test="position() != last()">,</xsl:if></xsl:for-each></xsl:if></xsl:attribute>-->
1979
- <xsl:value-of select="format-number($fulltrendamount,'#0.0')"/>
1980
- </td>
1981
- </tr>
1982
- </xsl:if>
1983
- </xsl:template>
1984
-
1985
- <xsl:template name="trendThreshold">
1986
- <xsl:param name="stats" />
1987
- <xsl:choose xml:space="preserve">
1988
- <xsl:when test="$trendCoverageMetric = 'SequencePoints' or $trendCoverageMetric = 'SymbolCoverage'"><xsl:value-of select="$stats/@acp" /></xsl:when>
1989
- <xsl:when test="$trendCoverageMetric = 'BranchPoints' or $trendCoverageMetric = 'BranchCoverage'"><xsl:value-of select="$stats/@abp" /></xsl:when>
1990
- <xsl:when test="$trendCoverageMetric = 'MethodCoverage'"><xsl:value-of select="$stats/@afp" /></xsl:when>
1991
- <xsl:when test="$trendCoverageMetric = 'LineCoverage'">-</xsl:when>
1992
- <xsl:when test="$trendCoverageMetric = 'CyclomaticComplexity'"><xsl:value-of select="$stats/@acc" /></xsl:when>
1993
- <xsl:otherwise>-</xsl:otherwise>
1994
- </xsl:choose>
1995
- </xsl:template>
1996
- <!--End Trends Templates-->
1997
-
1998
- <xsl:template name="min">
1999
- <xsl:param name="pSeq"/>
2000
- <xsl:variable name="vLen" select="count($pSeq)"/>
2001
- <xsl:if test="$vLen > 0">
2002
- <xsl:choose>
2003
- <xsl:when test="$vLen = 1">
2004
- <xsl:value-of select="$pSeq[1]"/>
2005
- </xsl:when>
2006
- <xsl:otherwise>
2007
- <xsl:variable name="vHalf" select="floor($vLen div 2)"/>
2008
- <xsl:variable name="v1">
2009
- <xsl:call-template name="min">
2010
- <xsl:with-param name="pSeq" select="$pSeq[not(position() > $vHalf)]"/>
2011
- </xsl:call-template>
2012
- </xsl:variable>
2013
- <xsl:variable name="v2">
2014
- <xsl:call-template name="min">
2015
- <xsl:with-param name="pSeq" select="$pSeq[position() > $vHalf]"/>
2016
- </xsl:call-template>
2017
- </xsl:variable>
2018
- <xsl:choose>
2019
- <xsl:when test="$v1 &lt;= $v2">
2020
- <xsl:value-of select="$v1"/>
2021
- </xsl:when>
2022
- <xsl:otherwise>
2023
- <xsl:value-of select="$v2"/>
2024
- </xsl:otherwise>
2025
- </xsl:choose>
2026
- </xsl:otherwise>
2027
- </xsl:choose>
2028
- </xsl:if>
2029
- </xsl:template>
2030
-
2031
- <xsl:template name="max">
2032
- <xsl:param name="pSeq"/>
2033
- <xsl:variable name="vLen" select="count($pSeq)"/>
2034
- <xsl:if test="$vLen > 0">
2035
- <xsl:choose>
2036
- <xsl:when test="$vLen = 1">
2037
- <xsl:value-of select="$pSeq[1]"/>
2038
- </xsl:when>
2039
- <xsl:otherwise>
2040
- <xsl:variable name="vHalf" select="floor($vLen div 2)"/>
2041
- <xsl:variable name="v1">
2042
- <xsl:call-template name="max">
2043
- <xsl:with-param name="pSeq" select="$pSeq[not(position() > $vHalf)]"/>
2044
- </xsl:call-template>
2045
- </xsl:variable>
2046
- <xsl:variable name="v2">
2047
- <xsl:call-template name="max">
2048
- <xsl:with-param name="pSeq" select="$pSeq[position() > $vHalf]"/>
2049
- </xsl:call-template>
2050
- </xsl:variable>
2051
- <xsl:choose>
2052
- <xsl:when test="$v1 >= $v2">
2053
- <xsl:value-of select="$v1"/>
2054
- </xsl:when>
2055
- <xsl:otherwise>
2056
- <xsl:value-of select="$v2"/>
2057
- </xsl:otherwise>
2058
- </xsl:choose>
2059
- </xsl:otherwise>
2060
- </xsl:choose>
2061
- </xsl:if>
2062
- </xsl:template>
2063
-
2064
- <xsl:template name="printcoverage">
2065
- <xsl:param name="coverage" />
2066
- <xsl:param name="twoplaces" select="'0'" />
2067
- <xsl:param name="nopercent" select="'0'" />
2068
- <xsl:choose>
2069
- <xsl:when test="$coverage = 'N/A'">
2070
- <xsl:value-of select="$coverage" />
2071
- </xsl:when>
2072
- <xsl:when test="string($coverage) = '-'">
2073
- -
2074
- </xsl:when>
2075
- <xsl:when test="string($coverage) = 'NaN'">
2076
- -
2077
- </xsl:when>
2078
- <xsl:when test="string($twoplaces) = '1'">
2079
- <xsl:choose>
2080
- <xsl:when test="$nopercent = '1'">
2081
- <xsl:value-of select="format-number($coverage,'#0.00')" />
2082
- </xsl:when>
2083
- <xsl:otherwise>
2084
- <xsl:value-of select="concat(format-number($coverage,'#0.00'), ' %')" />
2085
- </xsl:otherwise>
2086
- </xsl:choose>
2087
- </xsl:when>
2088
- <xsl:otherwise>
2089
- <xsl:choose>
2090
- <xsl:when test="$nopercent = '1'">
2091
- <xsl:value-of select="format-number($coverage,'#0.0')" />
2092
- </xsl:when>
2093
- <xsl:otherwise>
2094
- <xsl:value-of select="concat(format-number($coverage,'#0.0'), ' %')" />
2095
- </xsl:otherwise>
2096
- </xsl:choose>
2097
- </xsl:otherwise>
2098
- </xsl:choose>
2099
- </xsl:template>
2100
-
2101
- <!--Get the total items based on the report-->
2102
- <xsl:template name="gettotal">
2103
- <xsl:param name="stats" />
2104
- <xsl:param name="branch" />
2105
- <xsl:choose>
2106
- <xsl:when test="$isFunctionReport">
2107
- <xsl:value-of select="$stats/@um + $stats/@vm" />
2108
- </xsl:when>
2109
- <xsl:otherwise>
2110
- <xsl:choose>
2111
- <xsl:when test="$branch = 'True'">
2112
- <xsl:value-of select="$stats/@ubp + $stats/@vbp" />
2113
- </xsl:when>
2114
- <xsl:otherwise>
2115
- <xsl:value-of select="$stats/@usp + $stats/@vsp" />
2116
- </xsl:otherwise>
2117
- </xsl:choose>
2118
- </xsl:otherwise>
2119
- </xsl:choose>
2120
- </xsl:template>
2121
-
2122
- <!--Get the total visited items based on the report-->
2123
- <xsl:template name="visiteditems">
2124
- <xsl:param name="stats" />
2125
- <xsl:choose>
2126
- <xsl:when test="$isFunctionReport">
2127
- <xsl:value-of select="$stats/@vm" />
2128
- </xsl:when>
2129
- <xsl:otherwise>
2130
- <xsl:value-of select="$stats/@vsp" />
2131
- </xsl:otherwise>
2132
- </xsl:choose>
2133
- </xsl:template>
2134
-
2135
- <!--Get the total visited items based on the report-->
2136
- <xsl:template name="unvisiteditems">
2137
- <xsl:param name="stats" />
2138
- <xsl:choose>
2139
- <xsl:when test="$isFunctionReport">
2140
- <xsl:value-of select="$stats/@um" />
2141
- </xsl:when>
2142
- <xsl:otherwise>
2143
- <xsl:value-of select="$stats/@usp" />
2144
- </xsl:otherwise>
2145
- </xsl:choose>
2146
- </xsl:template>
2147
-
2148
- <!--How many nodes qualify-->
2149
- <xsl:template name="qualifiednodes" xml:space="preserve"><xsl:choose>
2150
- <!--If show all item exist, then we need to just return 1-->
2151
- <xsl:when test="$isDiffReport"><xsl:choose>
2152
- <xsl:when test="$showAllItems">1</xsl:when>
2153
- <!--One of the items must be at least this diff amount-->
2154
- <xsl:when test="$diffAtLeast &lt; 0"><xsl:value-of select="count(.//stats[
2155
- @diffexists='1'
2156
- and
2157
- (
2158
- (@vsp div (@vsp + @usp)) - (@dvsp div (@dvsp + @dusp)) &lt;= $diffAtLeast div 100
2159
- or
2160
- (@vbp div (@vbp + @ubp)) - (@dvbp div (@dvbp + @dubp)) &lt;= $diffAtLeast div 100
2161
- or
2162
- (@vl div (@vl + @ul)) - (@dvl div (@dvl + @dul)) &lt;= $diffAtLeast div 100
2163
- or
2164
- (@vm div (@vm + @um)) - (@dvm div (@dvm + @dum)) &lt;= $diffAtLeast div 100
2165
- or
2166
- (@ccmax - @dccmax) &lt;= $diffAtLeast
2167
- )
2168
- ])" /></xsl:when>
2169
- <xsl:when test="$diffAtLeast &gt; 0"><xsl:value-of select="count(.//stats[
2170
- @diffexists='1'
2171
- and
2172
- (
2173
- (@vsp div (@vsp + @usp)) - (@dvsp div (@dvsp + @dusp)) &gt;= $diffAtLeast div 100
2174
- or
2175
- (@vbp div (@vbp + @ubp)) - (@dvbp div (@dvbp + @dubp)) &gt;= $diffAtLeast div 100
2176
- or
2177
- (@vl div (@vl + @ul)) - (@dvl div (@dvl + @dul)) &gt;= $diffAtLeast div 100
2178
- or
2179
- (@vm div (@vm + @um)) - (@dvm div (@dvm + @dum)) &gt;= $diffAtLeast div 100
2180
- or
2181
- (@ccmax - @dccmax) &gt;= $diffAtLeast
2182
- )
2183
- ])" /></xsl:when>
2184
- <xsl:otherwise><xsl:value-of select="count(.//stats[@diffexists='1'])" /></xsl:otherwise>
2185
- </xsl:choose></xsl:when>
2186
- <xsl:when test="$isTrendReport">1</xsl:when>
2187
- <xsl:when test="string($atleastpercenttype) = 'branch'"><xsl:choose>
2188
- <xsl:when test="name(.) = 'method'"><xsl:value-of select="count(stats[(@vbp div (@ubp + @vbp)) >= $atleastpercent and (@vbp div (@ubp + @vbp)) &lt;= $atmostpercent])" /></xsl:when>
2189
- <!--if rdf is used we have no way to show the data.-->
2190
- <xsl:when test="count(.//method) = 0">1</xsl:when>
2191
- <xsl:otherwise><xsl:value-of select="count(.//method/stats[(@vbp div (@ubp + @vbp)) >= $atleastpercent and (@vbp div (@ubp + @vbp)) &lt;= $atmostpercent])" /></xsl:otherwise>
2192
- </xsl:choose></xsl:when>
2193
- <xsl:otherwise><xsl:choose>
2194
- <xsl:when test="name(.) = 'method'"><xsl:value-of select="count(stats[(@vsp div (@usp + @vsp)) >= $atleastpercent and (@vsp div (@usp + @vsp)) &lt;= $atmostpercent])" /></xsl:when>
2195
- <!--if rdf is used we have no way to show the data.-->
2196
- <xsl:when test="count(.//method) = 0">1</xsl:when>
2197
- <xsl:otherwise><xsl:value-of select="count(.//method/stats[(@vsp div (@usp + @vsp)) >= $atleastpercent and (@vsp div (@usp + @vsp)) &lt;= $atmostpercent])" /></xsl:otherwise>
2198
- </xsl:choose></xsl:otherwise>
2199
- </xsl:choose></xsl:template>
2200
-
2201
- <xsl:template name="style" xml:space="preserve">
2202
- <style>
2203
- <xsl:text disable-output-escaping="yes">
2204
- body { font: small verdana, arial, helvetica; color:#000000; }
2205
- .coverageReportTable { font-size: 9px; }
2206
- .reportHeader { padding: 5px 8px 5px 8px; font-size: 12px; border: 1px solid; margin: 0px; }
2207
- .titleText { font-weight: bold; font-size: 12px; white-space: nowrap; padding: 0px; margin: 1px; }
2208
- .subtitleText { font-size: 9px; font-weight: normal; padding: 0px; margin: 1px; white-space: nowrap; }
2209
- .projectStatistics { font-size: 10px; border-left: #649cc0 1px solid; white-space: nowrap; width: 40%; }
2210
- .heading { font-weight: bold; }
2211
- .trendTitle { font-weight: bold; font-size: 10px;}
2212
-
2213
- .mtHdLeftTop {
2214
- border-top: #dcdcdc 1px solid;
2215
- border-left: #dcdcdc 1px solid;
2216
- border-right: #dcdcdc 1px solid;
2217
- font-weight: bold;
2218
- padding-left: 5px;
2219
- }
2220
- .mtHdRightTop {
2221
- border-top: #dcdcdc 1px solid;
2222
- border-right: #dcdcdc 1px solid;
2223
- font-weight: bold;
2224
- padding-left: 5px;
2225
- text-align: center;
2226
- }
2227
- .mtHdLeftFunc {
2228
- border: #dcdcdc 1px solid;
2229
- font-weight: bold;
2230
- padding-left: 5px;
2231
- }
2232
- .mtHdLeft {
2233
- border-bottom: #dcdcdc 1px solid;
2234
- border-left: #dcdcdc 1px solid;
2235
- border-right: #dcdcdc 1px solid;
2236
- font-weight: bold;
2237
- padding-left: 5px;
2238
- }
2239
- .mtHd { border-bottom: 1px solid; border-top: 1px solid; border-right: 1px solid; text-align: center; }
2240
-
2241
- .mtHdLeft2 { font-weight: bold; padding-left: 5px; }
2242
- .mtHd2 { text-align: center; }
2243
-
2244
- .mtgHd { border-bottom: 1px solid; border-top: 1px solid; border-right: 1px solid; text-align: left; font-weight: bold; }
2245
- .mtgHd2 { border-bottom: 1px solid; border-top: 1px solid; border-right: 1px solid; text-align: center; font-weight: bold; }
2246
- .mtDiv {width:500px;overflow: hidden;}
2247
-
2248
- .mtcItem { background: #ffffff; border-left: #dcdcdc 1px solid; border-right: #dcdcdc 1px solid; padding-left: 10px; padding-right: 10px; font-weight: bold; font-size: 10px; }
2249
- .mtcData { background: #ffffff; border-right: #dcdcdc 1px solid; text-align: center; white-space: nowrap; }
2250
- .mR { background: #ffffff; border-right: #dcdcdc 1px solid; text-align: right; white-space: nowrap; }
2251
- .mR1 { background: #ffffff; border-right: #999999 1px solid; text-align: right; white-space: nowrap; }
2252
- .mPt { background: #ffffff; font-weight: bold; white-space: nowrap; text-align: right; padding-left: 10px; }
2253
- .tmcGraph { background: #ffffff; border-right: #dcdcdc 1px solid; padding-right: 5px; }
2254
- .mb { border-bottom: #dcdcdc 1px solid; }
2255
- .ctHeader { border-top: 1px solid; border-bottom: 1px solid; border-left: 1px solid; border-right: 1px solid; font-weight: bold; padding-left: 10px; }
2256
- .ctciItem { background: #ffffff; border-left: #dcdcdc 1px solid; border-right: #dcdcdc 1px solid; padding-right: 10px; font-size: 10px; }
2257
- .etcItem { background: #ffffff; border-left: #dcdcdc 1px solid; border-right: #dcdcdc 1px solid; padding-left: 10px; padding-right: 10px; }
2258
- .projectTable { background: #a9d9f7; border-color: #649cc0; }
2259
- .primaryTable { background: #d7eefd; border-color: #a4dafc; }
2260
- .secondaryTable { background: #f9e9b7; border-color: #f6d376; }
2261
- .secondaryChildTable { background: #fff6df; border-color: #f5e1b1; }
2262
- .exclusionTable { background: #e1e1e1; border-color: #c0c0c0; }
2263
- .exclusionCell { background: #f7f7f7; }
2264
- .up { color: #008000; }
2265
- .dn { color: #c80000; }
2266
- #tooltip {
2267
- position: absolute;
2268
- z-index: 3000;
2269
- border: 1px solid #111;
2270
- background-color: #eee;
2271
- padding: 5px;
2272
- opacity: 0.85;
2273
- }
2274
- #tooltip h3, #tooltip div { margin: 0; }
2275
- </xsl:text>
2276
- </style>
2277
- <xsl:if test="$isTrendReport">
2278
- <script src="{baseimagepath}jquery-1.3.2.min.js" type="text/javascript"></script>
2279
- <script src="{baseimagepath}trends.js" type="text/javascript"></script>
2280
-
2281
- <script type="text/javascript">
2282
- <xsl:text disable-output-escaping="yes" xml:space="preserve">
2283
- <![CDATA[$(function(){
2284
-
2285
- $('.trGr').each(function(){
2286
- var t = $(this);
2287
- t.sparkline(t.attr('data').split(','),
2288
- {
2289
- minSpotColor : '#000000',
2290
- maxSpotColor : '#000000',
2291
- marginBottom: '0px',
2292
- height:30,
2293
- width: '100%',
2294
- lineColor: '#000000',
2295
- spotColor:'#0000ff',
2296
- barColor:'#ffffff',
2297
- fillColor: null,
2298
- normalRangeColor: '#00cd00',
2299
- normalRangeMin: t.attr('min'),
2300
- normalRangeMax: 100,
2301
- chartRangeMin: -1,
2302
- chartRangeMax: 100
2303
- }
2304
- );
2305
- });
2306
- });]]>
2307
- </xsl:text>
2308
- </script>
2309
-
2310
- </xsl:if>
2311
- </xsl:template>
2312
-
2313
- </xsl:stylesheet>