vhLib.Macro %CSP.Page 1 %Status #(..HyperEventHead())#> If Routine="" { Quit ..RoutineList() } Else { Quit ..ShowRoutine(Routine) } &html<> Quit $$$OK ]]> 1 %Status > &html<
Code coverage report
> &html<
> &html<> &html<> &html<> &html<> &html<> #dim rsCodeCoverage As TECH.ResultSet = ##class(TECH.ResultSet).Create("SELECT RoutineName , ClassName , PercentageCovered FROM Tools_CodeCoverage.Data ORDER BY ClassName") while rsCodeCoverage.Next() { #dim RoutineName As %String = rsCodeCoverage.Get("RoutineName") #dim ClassName As %String = rsCodeCoverage.Get("ClassName") #dim PercentageCovered As %String = rsCodeCoverage.Get("PercentageCovered") #dim href As %Sting ="Tools.CodeCoverage.Report.cls?Routine="_..EscapeURL(RoutineName) &html<> &html<> &html<> &html<> } &html<
ClassnamePercentage
#(ClassName)##(PercentageCovered)#
> Quit $$$OK ]]>
1 Routine:%String %Status > &html<
Code coverage #(Routine)#
> &html<
> &html<> &html<> #dim rsCodeCoverage As TECH.Result = ##class(TECH.ResultSet).Create("SELECT ID FROM Tools_CodeCoverage.Data WHERE RoutineName = ?",$listbuild(Routine)) if rsCodeCoverage.Next() { set Data = ##class(Tools.CodeCoverage.Data).%OpenId(rsCodeCoverage.GetData(1)) set LineNrsIterator = ##class(TECH.PiecesIterator).%New(Data.RoutineSourceCode,$$$LF) while LineNrsIterator.HasNext() { #dim Line As %String = LineNrsIterator.Next() #dim LineNr As %Integer = LineNrsIterator.Key() #dim HasToBeCovered As %Boolean = ( Data.ToBeCoveredLineNrs.Find(LineNr) > 0) #dim IsCovered As %Boolean = ( +Data.NotCoveredLineNrs.Find(LineNr) = 0) #dim bgColor As %String if 'HasToBeCovered { set bgColor = "#E0E0EB" } else { set bgColor = $select(IsCovered:"#B2D1B2",1:"#FFE6E6") } &html<> &html<> &html<> &html<> } } &html<
#(LineNr)##(Line)#
> Quit $$$OK ]]>
1 %Boolean 1