725 lines
471 KiB
HTML
725 lines
471 KiB
HTML
|
<!DOCTYPE html>
|
||
|
<html>
|
||
|
<head>
|
||
|
<meta charset="utf-8" />
|
||
|
<meta http-equiv="X-UA-Compatible" content="IE=EDGE,chrome=1" />
|
||
|
<link href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAFwklEQVR4AcWXA3Qk2RrH/7e6qtPbaQ6TdKyXsbm2bdv22N7R2raRs9JYyhszk0FvOkYnzfJLnTc3p3rv9GY9X+m7hfv/fagGwRG2PwywdetWUl5e7hNF0QeAv/LKK1f+4wDffPONIXiZqqpntG3DdV13tW3gOC5wt3XM22ElfAZHLPWEkD084cu62br+XH7WBv9fBvjhhx9KAExRFOXCNkHeEDWMHtsEA9fhvkWtaujaQxdgXCEgusAJ63gL/8Jgb//3F4/8SvxDAP6TT7ZEN268d2mfPjf7Hn20t9PphCF6OIAL5BsXRfXYtYa0Yf8/tI/AE/6gXbA/0nxSxSe/C8BfUJAmNzV9pEnSsQqAj08+GaeMGgVBEBgAAIEz41ctCpHItdBNsqZs0GOKJeWDDFvarRVDN4STAlTl5haoweAiXVGyqUjYYsFXV16Jc++914j41xCB4yMXLgpxiQDUp0N6RSDCJq/Vc2rNwO0NDEBDfn53tbl5bZt4DqU2RAy/ymbD2ocfxllXXcUADGk9c1HIEr42QYxymIDomCf8xiyb7/iKknWhdoDI8cdz8vbtP2qSdBIVNZ4xg2x3OlHzxBM49qSTzP0Q+E/o2G9UXrn1kAYT/eF6w8pZ34+X+K9qB4j5fDdp4fCremLkCdEa3pLu3eF86SX06t0bhmmaFsiLDiuFgDv0X9c+UZQph52znxfOqygl2qmnCurGjXtp3ak4BaHiFOjjkhIMfP11+Hw+YxzIjA0qhRV3UA26MyUhAYL6PCzbBtn69SV6Xt4FCAY/Z1JPN4CBevmYY3Deyy/D5XIF0uX+pbpA7oBxlRjX2VfRDGT23ZzzJKKnp78GUbzReLJ9A6jPQBnHOMfhpYsuwnULFwayLUNLZat6R3Ihtjmpn0KszxA9LW0bJKmXWZSFYM81CgLeuvHGwPgZX5cqNpXpAVaU9QXwZUYGQpBlBytqHrPXNKMU2Wl1j+4Q/ApRBptFk/sMQJDo2dkqJInrQJAZr4tGMeGVNKy5zmFMx4owIxaABy8TPSenCarq7TBy07ajTXzh/S58OTPNmMo8eQcwTAZaiF5UtB6yPDi5YCKYPxbDq6dY8MZHBdA4nU7MHH8T5tBcAoSNRO/ZcwEk6QFDoCOIBlHE+7lxvLCkN0Q7Z4qewaB7BolObfhWCM8SedCgY/lIZBkrmAgTliR8ITTj2VUD0JpupbLmErBHamZE084ZTz2L7L7lFi571aqDNiAzGYSkqvi+pQbP/zwQNf0drDiT7OQZaAdo1RqK1mRmEGO8s6BgZondPupw0WuahmWBSrz6Xm/sPbebWZwFoHu2+kwDSj+Hntl16rp7DQB8k5ubUczz5QUOhx2altAD6ysr8e6EHGx6sBB68sUsxpaDzkdgGCJlLQr5WOy5Y/Z/ywnl+iQzc9xwp3Oqz2ZrB9hVU4OPz3di+QuDaKx/MAPsWdEfQ8PzlQv8s3Y/lPCDpHTECEvzgQOLjvV6j8u12/FLYyO+KBTx4zcnQ+Vh2G9Ez+4B1osfjKD6hQNb236QjFg5aVGE+Un2Tu/enVrq6xf3stn6HrA047uyCyB6BCbNGjTzGbNHfaYIwbUNqPnA/4uDSz125/xNB5P+KH2lTx9vpLb2U9Uled6b2X+A7+RcpHhTOqp/UgSxPo7AJ/sR2tKyw53qOnvbvLIDHf4sf/+ii3hJCx41e3DwFSkqXdapZxd0G5YBZ4EHIDq0DtKv6zpC5S1oWFGNpg31Gk8sr3V1d3tw7cxl4T/8z2jgpBEnhVvDk6WIdIzVZYW7uBMcOU7YutphcfDgBA6arEEKiYjXxxD2h9C6qwlySNZ5C/+DwPOTdj29Zc1f/m846JERfSOxyGWqpp2qaWp/TdetSDAdhHAxjuM2coR87zzK+UHZvNV7/tY/p9Tue+UhoWzvxtyIGO0ajUcET6pbsQop1T2zSvwv3fWcgj9gBEfY/gcDB4tklLmGUgAAAABJRU5ErkJggg==" rel="icon" type="image/x-icon" />
|
||
|
<title>Summary - Coverage Report</title>
|
||
|
<style type="text/css">html { font-family: 'Segoe UI', '-apple-system', BlinkMacSystemFont, Roboto, 'Helvetica Neue', Helvetica, Ubuntu, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; margin: 0; padding: 0; font-size: 0.9em; background-color: #fff; height: 100%; }
|
||
|
body { margin: 0; padding: 0; height: 100%; color: #000; }
|
||
|
h1 { font-size: 1.2em; font-weight: normal; color: #000; background-color: rgba(248,248,248,1); padding: 10px; margin: 20px -20px 20px -20px; }
|
||
|
h1:first-of-type { margin-top: 0; }
|
||
|
h2 { font-size: 1.0em; font-weight: bold; margin: 10px 0 15px 0; padding: 0; }
|
||
|
h3 { font-size: 1.0em; font-weight: bold; margin: 0 0 10px 0; padding: 0; display: inline-block; }
|
||
|
a { color: #0078D4; text-decoration: none; }
|
||
|
a:hover { color: #000; text-decoration: underline; }
|
||
|
h1 a.back { background-color: #e8e8e8; display: inline-block; margin: -12px 5px -10px -10px; padding: 10px; border-right: 1px solid #fff; }
|
||
|
h1 a.back:hover { background-color: #ccc; text-decoration: none; }
|
||
|
h1 a.button { color: #000; background-color: #dcdcdc; margin: -5px 0 0 10px; padding: 5px 8px 5px 8px; border: 1px solid #c1c1c1; font-size: 0.9em; border-radius: 3px; float:right; }
|
||
|
h1 a.button:hover { background-color: #f4f4f4; }
|
||
|
h1 a.button i { position: relative; top: 1px; }
|
||
|
|
||
|
.container { margin: auto; background-color: #fff; display: flex; min-height: 100%; }
|
||
|
.containerleft { padding: 0 20px 20px 20px; }
|
||
|
.containerright { width: 340px; min-width: 340px; background-color: #fff; height: 100%; }
|
||
|
.containerrightfixed { position: fixed; padding: 0 20px 20px 20px; border-left: solid 1px #EAEAEA; width: 300px; overflow-y: auto; height: 100%; top: 0; bottom: 0; }
|
||
|
.containerrightfixed h1 { background-color: rgba(248,248,248,1); }
|
||
|
.containerrightfixed label, .containerright a { white-space: nowrap; overflow: hidden; display: inline-block; width: 100%; max-width: 300px; text-overflow: ellipsis; }
|
||
|
.containerright a { margin-bottom: 3px; }
|
||
|
|
||
|
@media screen and (max-width:1200px){
|
||
|
.container { box-shadow: none; width: 100%; }
|
||
|
.containerright { display: none; }
|
||
|
}
|
||
|
|
||
|
.footer { font-size: 0.7em; text-align: center; margin-top: 35px; }
|
||
|
|
||
|
th { text-align: left; }
|
||
|
.table-fixed { table-layout: fixed; }
|
||
|
.overview { border: solid 1px #c1c1c1; border-collapse: collapse; width: 100%; word-wrap: break-word; }
|
||
|
.overview th { border: solid 1px #c1c1c1; border-collapse: collapse; padding: 5px 4px 5px 4px; background-color: #fff}
|
||
|
ansi
|
||
|
.overview thead th { background-color: #fff; }
|
||
|
.overview th a { color: #000; }
|
||
|
.overview tr.namespace a { margin-left: 15px; display: block; }
|
||
|
.overview td { border: solid 1px #c1c1c1; border-collapse: collapse; padding: 5px 4px 5px 4px; }
|
||
|
.overview tr:hover { background: #f4f4f4 }
|
||
|
div.currenthistory { margin: -6px -5px 0 -5px; padding: 2px 4px 6px 4px; height: 16px; }
|
||
|
.coverage {
|
||
|
border: solid 1px #c1c1c1;
|
||
|
border-collapse: collapse;
|
||
|
font-size: 5px;
|
||
|
height: 10px;
|
||
|
}
|
||
|
.coverage td { padding: 0; border: none; }
|
||
|
|
||
|
.customizebox { font-size: 0.75em; margin-bottom: 7px; }
|
||
|
.customizebox>div { width: 25%; display: inline-block; }
|
||
|
.customizebox div.right input { font-size: 0.8em; width: 150px; }
|
||
|
#namespaceslider { width: 200px; display: inline-block; margin-left: 8px; }
|
||
|
|
||
|
.percentagebar {
|
||
|
padding-left: 3px;
|
||
|
}
|
||
|
a.percentagebar {
|
||
|
padding-left: 6px;
|
||
|
}
|
||
|
.percentagebarundefined {
|
||
|
border-left: 2px solid #fff;
|
||
|
}
|
||
|
.percentagebar0 {
|
||
|
border-left: 2px solid #DA0A00;
|
||
|
}
|
||
|
.percentagebar10 {
|
||
|
border-left: 2px solid;
|
||
|
border-image: linear-gradient(to bottom, #DA0A00 90%, #107C10 90%, #107C10 100%) 1;
|
||
|
}
|
||
|
.percentagebar20 {
|
||
|
border-left: 2px solid;
|
||
|
border-image: linear-gradient(to bottom, #DA0A00 80%, #107C10 80%, #107C10 100%) 1;
|
||
|
}
|
||
|
.percentagebar30 {
|
||
|
border-left: 2px solid;
|
||
|
border-image: linear-gradient(to bottom, #DA0A00 70%, #107C10 70%, #107C10 100%) 1;
|
||
|
}
|
||
|
.percentagebar40 {
|
||
|
border-left: 2px solid;
|
||
|
border-image: linear-gradient(to bottom, #DA0A00 60%, #107C10 60%, #107C10 100%) 1;
|
||
|
}
|
||
|
.percentagebar50 {
|
||
|
border-left: 2px solid;
|
||
|
border-image: linear-gradient(to bottom, #DA0A00 50%, #107C10 50%, #107C10 100%) 1;
|
||
|
}
|
||
|
.percentagebar60 {
|
||
|
border-left: 2px solid;
|
||
|
border-image: linear-gradient(to bottom, #DA0A00 40%, #107C10 40%, #107C10 100%) 1;
|
||
|
}
|
||
|
.percentagebar70 {
|
||
|
border-left: 2px solid;
|
||
|
border-image: linear-gradient(to bottom, #DA0A00 30%, #107C10 30%, #107C10 100%) 1;
|
||
|
}
|
||
|
.percentagebar80 {
|
||
|
border-left: 2px solid;
|
||
|
border-image: linear-gradient(to bottom, #DA0A00 20%, #107C10 20%, #107C10 100%) 1;
|
||
|
}
|
||
|
.percentagebar90 {
|
||
|
border-left: 2px solid;
|
||
|
border-image: linear-gradient(to bottom, #DA0A00 10%, #107C10 10%, #107C10 100%) 1;
|
||
|
}
|
||
|
.percentagebar100 {
|
||
|
border-left: 2px solid #107C10;
|
||
|
}
|
||
|
|
||
|
.hidden, .ng-hide { display: none; }
|
||
|
.right { text-align: right; }
|
||
|
.center { text-align: center; }
|
||
|
.rightmargin { padding-right: 8px; }
|
||
|
.leftmargin { padding-left: 5px; }
|
||
|
.green { background-color: #107C10; }
|
||
|
.lightgreen { background-color: #dcf4dc; }
|
||
|
.red { background-color: #DA0A00; }
|
||
|
.lightred { background-color: #f7dede; }
|
||
|
.orange { background-color: #FFA500; }
|
||
|
.lightorange { background-color: #FFEFD5; }
|
||
|
.gray { background-color: #dcdcdc; }
|
||
|
.lightgray { color: #888888; }
|
||
|
.lightgraybg { background-color: #dadada; }
|
||
|
|
||
|
.toggleZoom { text-align:right; }
|
||
|
|
||
|
.ct-chart { position: relative; }
|
||
|
.ct-chart .ct-line { stroke-width: 2px !important; }
|
||
|
.ct-chart .ct-point { stroke-width: 6px !important; transition: stroke-width .2s; }
|
||
|
.ct-chart .ct-point:hover { stroke-width: 10px !important; }
|
||
|
.ct-chart .ct-series.ct-series-a .ct-line, .ct-chart .ct-series.ct-series-a .ct-point { stroke: #0078D4 !important;}
|
||
|
.ct-chart .ct-series.ct-series-b .ct-line, .ct-chart .ct-series.ct-series-b .ct-point { stroke: #1c2298 !important;}
|
||
|
|
||
|
.tinylinecoveragechart, .tinybranchcoveragechart { background-color: #fff; margin-left: -3px; float: left; border: solid 1px #c1c1c1; width: 30px; height: 18px; }
|
||
|
.historiccoverageoffset { margin-top: 7px; }
|
||
|
|
||
|
.tinylinecoveragechart .ct-line, .tinybranchcoveragechart .ct-line { stroke-width: 1px !important; }
|
||
|
.tinybranchcoveragechart .ct-series.ct-series-a .ct-line { stroke: #1c2298 !important; }
|
||
|
|
||
|
.linecoverage { background-color: #0078D4; width: 10px; height: 8px; border: 1px solid #000; display: inline-block; }
|
||
|
.branchcoverage { background-color: #1c2298; width: 10px; height: 8px; border: 1px solid #000; display: inline-block; }
|
||
|
|
||
|
.tooltip { position: absolute; display: none; padding: 5px; background: #F4C63D; color: #453D3F; pointer-events: none; z-index: 1; min-width: 250px; }
|
||
|
|
||
|
.column1324 { max-width: 1324px; }
|
||
|
.column674 { max-width: 674px; }
|
||
|
.column60 { width: 60px; }
|
||
|
.column70 { width: 70px; }
|
||
|
.column90 { width: 90px; }
|
||
|
.column98 { width: 98px; }
|
||
|
.column100 { width: 100px; }
|
||
|
.column105 { width: 105px; }
|
||
|
.column112 { width: 112px; }
|
||
|
.column135 { width: 135px; }
|
||
|
.column150 { width: 150px; }
|
||
|
|
||
|
.covered0 { width: 0px; }
|
||
|
.covered1 { width: 1px; }
|
||
|
.covered2 { width: 2px; }
|
||
|
.covered3 { width: 3px; }
|
||
|
.covered4 { width: 4px; }
|
||
|
.covered5 { width: 5px; }
|
||
|
.covered6 { width: 6px; }
|
||
|
.covered7 { width: 7px; }
|
||
|
.covered8 { width: 8px; }
|
||
|
.covered9 { width: 9px; }
|
||
|
.covered10 { width: 10px; }
|
||
|
.covered11 { width: 11px; }
|
||
|
.covered12 { width: 12px; }
|
||
|
.covered13 { width: 13px; }
|
||
|
.covered14 { width: 14px; }
|
||
|
.covered15 { width: 15px; }
|
||
|
.covered16 { width: 16px; }
|
||
|
.covered17 { width: 17px; }
|
||
|
.covered18 { width: 18px; }
|
||
|
.covered19 { width: 19px; }
|
||
|
.covered20 { width: 20px; }
|
||
|
.covered21 { width: 21px; }
|
||
|
.covered22 { width: 22px; }
|
||
|
.covered23 { width: 23px; }
|
||
|
.covered24 { width: 24px; }
|
||
|
.covered25 { width: 25px; }
|
||
|
.covered26 { width: 26px; }
|
||
|
.covered27 { width: 27px; }
|
||
|
.covered28 { width: 28px; }
|
||
|
.covered29 { width: 29px; }
|
||
|
.covered30 { width: 30px; }
|
||
|
.covered31 { width: 31px; }
|
||
|
.covered32 { width: 32px; }
|
||
|
.covered33 { width: 33px; }
|
||
|
.covered34 { width: 34px; }
|
||
|
.covered35 { width: 35px; }
|
||
|
.covered36 { width: 36px; }
|
||
|
.covered37 { width: 37px; }
|
||
|
.covered38 { width: 38px; }
|
||
|
.covered39 { width: 39px; }
|
||
|
.covered40 { width: 40px; }
|
||
|
.covered41 { width: 41px; }
|
||
|
.covered42 { width: 42px; }
|
||
|
.covered43 { width: 43px; }
|
||
|
.covered44 { width: 44px; }
|
||
|
.covered45 { width: 45px; }
|
||
|
.covered46 { width: 46px; }
|
||
|
.covered47 { width: 47px; }
|
||
|
.covered48 { width: 48px; }
|
||
|
.covered49 { width: 49px; }
|
||
|
.covered50 { width: 50px; }
|
||
|
.covered51 { width: 51px; }
|
||
|
.covered52 { width: 52px; }
|
||
|
.covered53 { width: 53px; }
|
||
|
.covered54 { width: 54px; }
|
||
|
.covered55 { width: 55px; }
|
||
|
.covered56 { width: 56px; }
|
||
|
.covered57 { width: 57px; }
|
||
|
.covered58 { width: 58px; }
|
||
|
.covered59 { width: 59px; }
|
||
|
.covered60 { width: 60px; }
|
||
|
.covered61 { width: 61px; }
|
||
|
.covered62 { width: 62px; }
|
||
|
.covered63 { width: 63px; }
|
||
|
.covered64 { width: 64px; }
|
||
|
.covered65 { width: 65px; }
|
||
|
.covered66 { width: 66px; }
|
||
|
.covered67 { width: 67px; }
|
||
|
.covered68 { width: 68px; }
|
||
|
.covered69 { width: 69px; }
|
||
|
.covered70 { width: 70px; }
|
||
|
.covered71 { width: 71px; }
|
||
|
.covered72 { width: 72px; }
|
||
|
.covered73 { width: 73px; }
|
||
|
.covered74 { width: 74px; }
|
||
|
.covered75 { width: 75px; }
|
||
|
.covered76 { width: 76px; }
|
||
|
.covered77 { width: 77px; }
|
||
|
.covered78 { width: 78px; }
|
||
|
.covered79 { width: 79px; }
|
||
|
.covered80 { width: 80px; }
|
||
|
.covered81 { width: 81px; }
|
||
|
.covered82 { width: 82px; }
|
||
|
.covered83 { width: 83px; }
|
||
|
.covered84 { width: 84px; }
|
||
|
.covered85 { width: 85px; }
|
||
|
.covered86 { width: 86px; }
|
||
|
.covered87 { width: 87px; }
|
||
|
.covered88 { width: 88px; }
|
||
|
.covered89 { width: 89px; }
|
||
|
.covered90 { width: 90px; }
|
||
|
.covered91 { width: 91px; }
|
||
|
.covered92 { width: 92px; }
|
||
|
.covered93 { width: 93px; }
|
||
|
.covered94 { width: 94px; }
|
||
|
.covered95 { width: 95px; }
|
||
|
.covered96 { width: 96px; }
|
||
|
.covered97 { width: 97px; }
|
||
|
.covered98 { width: 98px; }
|
||
|
.covered99 { width: 99px; }
|
||
|
.covered100 { width: 100px; }
|
||
|
|
||
|
@media print {
|
||
|
html, body { background-color: #fff; }
|
||
|
.container { max-width: 100%; width: 100%; padding: 0; }
|
||
|
.overview colgroup col:first-child { width: 300px; }
|
||
|
}
|
||
|
|
||
|
.icon-up-dir_active {
|
||
|
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgd2lkdGg9IjE3OTIiIGhlaWdodD0iMTc5MiIgdmlld0JveD0iMCAwIDE3OTIgMTc5MiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjMDA3OEQ0IiBkPSJNMTQwOCAxMjE2cTAgMjYtMTkgNDV0LTQ1IDE5aC04OTZxLTI2IDAtNDUtMTl0LTE5LTQ1IDE5LTQ1bDQ0OC00NDhxMTktMTkgNDUtMTl0NDUgMTlsNDQ4IDQ0OHExOSAxOSAxOSA0NXoiLz48L3N2Zz4=);
|
||
|
background-repeat: no-repeat;
|
||
|
background-size: contain;
|
||
|
padding-left: 15px;
|
||
|
height: 0.9em;
|
||
|
display: inline-block;
|
||
|
position: relative;
|
||
|
top: 3px;
|
||
|
}
|
||
|
.icon-down-dir_active {
|
||
|
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgd2lkdGg9IjE3OTIiIGhlaWdodD0iMTc5MiIgdmlld0JveD0iMCAwIDE3OTIgMTc5MiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjMDA3OEQ0IiBkPSJNMTQwOCA3MDRxMCAyNi0xOSA0NWwtNDQ4IDQ0OHEtMTkgMTktNDUgMTl0LTQ1LTE5bC00NDgtNDQ4cS0xOS0xOS0xOS00NXQxOS00NSA0NS0xOWg4OTZxMjYgMCA0NSAxOXQxOSA0NXoiLz48L3N2Zz4=);
|
||
|
background-repeat: no-repeat;
|
||
|
background-size: contain;
|
||
|
padding-left: 15px;
|
||
|
height: 0.9em;
|
||
|
display: inline-block;
|
||
|
position: relative;
|
||
|
top: 3px;
|
||
|
}
|
||
|
.icon-down-dir {
|
||
|
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNDA4IDcwNHEwIDI2LTE5IDQ1bC00NDggNDQ4cS0xOSAxOS00NSAxOXQtNDUtMTlsLTQ0OC00NDhxLTE5LTE5LTE5LTQ1dDE5LTQ1IDQ1LTE5aDg5NnEyNiAwIDQ1IDE5dDE5IDQ1eiIvPjwvc3ZnPg==);
|
||
|
background-repeat: no-repeat;
|
||
|
background-size: contain;
|
||
|
padding-left: 15px;
|
||
|
height: 0.9em;
|
||
|
display: inline-block;
|
||
|
position: relative;
|
||
|
top: 3px;
|
||
|
}
|
||
|
.icon-info-circled {
|
||
|
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxjaXJjbGUgY3g9Ijg5NiIgY3k9Ijg5NiIgcj0iNzUwIiBmaWxsPSIjZmZmIiAvPjxwYXRoIGZpbGw9IiMyOEE1RkYiIGQ9Ik0xMTUyIDEzNzZ2LTE2MHEwLTE0LTktMjN0LTIzLTloLTk2di01MTJxMC0xNC05LTIzdC0yMy05aC0zMjBxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloOTZ2MzIwaC05NnEtMTQgMC0yMyA5dC05IDIzdjE2MHEwIDE0IDkgMjN0MjMgOWg0NDhxMTQgMCAyMy05dDktMjN6bS0xMjgtODk2di0xNjBxMC0xNC05LTIzdC0yMy05aC0xOTJxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloMTkycTE0IDAgMjMtOXQ5LTIzem02NDAgNDE2cTAgMjA5LTEwMyAzODUuNXQtMjc5LjUgMjc5LjUtMzg1LjUgMTAzLTM4NS41LTEwMy0yNzkuNS0yNzkuNS0xMDMtMzg1LjUgMTAzLTM4NS41IDI3OS41LTI3OS41IDM4NS41LTEwMyAzODUuNSAxMDMgMjc5LjUgMjc5LjUgMTAzIDM4NS41eiIvPjwvc3ZnPg==);
|
||
|
background-repeat: no-repeat;
|
||
|
background-size: contain;
|
||
|
padding-left: 15px;
|
||
|
height: 0.9em;
|
||
|
display: inline-block;
|
||
|
}
|
||
|
.icon-plus {
|
||
|
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNjAwIDczNnYxOTJxMCA0MC0yOCA2OHQtNjggMjhoLTQxNnY0MTZxMCA0MC0yOCA2OHQtNjggMjhoLTE5MnEtNDAgMC02OC0yOHQtMjgtNjh2LTQxNmgtNDE2cS00MCAwLTY4LTI4dC0yOC02OHYtMTkycTAtNDAgMjgtNjh0NjgtMjhoNDE2di00MTZxMC00MCAyOC02OHQ2OC0yOGgxOTJxNDAgMCA2OCAyOHQyOCA2OHY0MTZoNDE2cTQwIDAgNjggMjh0MjggNjh6Ii8+PC9zdmc+);
|
||
|
background-repeat: no-repeat;
|
||
|
background-size: contain;
|
||
|
padding-left: 15px;
|
||
|
height: 0.9em;
|
||
|
display: inline-block;
|
||
|
position: relative;
|
||
|
top: 3px;
|
||
|
}
|
||
|
.icon-minus {
|
||
|
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgd2lkdGg9IjE3OTIiIGhlaWdodD0iMTc5MiIgdmlld0JveD0iMCAwIDE3OTIgMTc5MiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjMDAwIiBkPSJNMTYwMCA3MzZ2MTkycTAgNDAtMjggNjh0LTY4IDI4aC0xMjE2cS00MCAwLTY4LTI4dC0yOC02OHYtMTkycTAtNDAgMjgtNjh0NjgtMjhoMTIxNnE0MCAwIDY4IDI4dDI4IDY4eiIvPjwvc3ZnPg==);
|
||
|
background-repeat: no-repeat;
|
||
|
background-size: contain;
|
||
|
padding-left: 15px;
|
||
|
height: 0.9em;
|
||
|
display: inline-block;
|
||
|
position: relative;
|
||
|
top: 3px;
|
||
|
}
|
||
|
.icon-wrench {
|
||
|
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIj4NCiAgICA8cGF0aCBkPSJNNDQ4IDE0NzJxMC0yNi0xOS00NXQtNDUtMTktNDUgMTktMTkgNDUgMTkgNDUgNDUgMTkgNDUtMTkgMTktNDV6bTY0NC00MjBsLTY4MiA2ODJxLTM3IDM3LTkwIDM3LTUyIDAtOTEtMzdsLTEwNi0xMDhxLTM4LTM2LTM4LTkwIDAtNTMgMzgtOTFsNjgxLTY4MXEzOSA5OCAxMTQuNSAxNzMuNXQxNzMuNSAxMTQuNXptNjM0LTQzNXEwIDM5LTIzIDEwNi00NyAxMzQtMTY0LjUgMjE3LjV0LTI1OC41IDgzLjVxLTE4NSAwLTMxNi41LTEzMS41dC0xMzEuNS0zMTYuNSAxMzEuNS0zMTYuNSAzMTYuNS0xMzEuNXE1OCAwIDEyMS41IDE2LjV0MTA3LjUgNDYuNXExNiAxMSAxNiAyOHQtMTYgMjhsLTI5MyAxNjl2MjI0bDE5MyAxMDdxNS0zIDc5LTQ4LjV0MTM1LjUtODEgNzAuNS0zNS41cTE1IDAgMjMuNSAxMHQ4LjUgMjV6Ii8+DQo8L3N2Zz4NCg==);
|
||
|
background-repeat: no-repeat;
|
||
|
background-size: contain;
|
||
|
padding-left: 20px;
|
||
|
height: 0.9em;
|
||
|
display: inline-block;
|
||
|
}
|
||
|
.icon-fork {
|
||
|
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIj4NCiAgICA8cGF0aCBkPSJNNjcyIDE0NzJxMC00MC0yOC02OHQtNjgtMjgtNjggMjgtMjggNjggMjggNjggNjggMjggNjgtMjggMjgtNjh6bTAtMTE1MnEwLTQwLTI4LTY4dC02OC0yOC02OCAyOC0yOCA2OCAyOCA2OCA2OCAyOCA2OC0yOCAyOC02OHptNjQwIDEyOHEwLTQwLTI4LTY4dC02OC0yOC02OCAyOC0yOCA2OCAyOCA2OCA2OCAyOCA2OC0yOCAyOC02OHptOTYgMHEwIDUyLTI2IDk2LjV0LTcwIDY5LjVxLTIgMjg3LTIyNiA0MTQtNjcgMzgtMjAzIDgxLTEyOCA0MC0xNjkuNSA3MXQtNDEuNSAxMDB2MjZxNDQgMjUgNzAgNjkuNXQyNiA5Ni41cTAgODAtNTYgMTM2dC0xMzYgNTYtMTM2LTU2LTU2LTEzNnEwLTUyIDI2LTk2LjV0NzAtNjkuNXYtODIwcS00NC0yNS03MC02OS41dC0yNi05Ni41cTAtODAgNTYtMTM2dDEzNi01NiAxMzYgNTYgNTYgMTM2cTAgNTItMjYgOTYuNXQtNzAgNjkuNXY0OTdxNTQtMjYgMTU0LTU3IDU1LTE3IDg3LjUtMjkuNXQ3MC41LTMxIDU5LTM5LjUgNDAuNS01MSAyOC02OS41IDguNS05MS41cS00NC0yNS03MC02OS41dC0yNi05Ni41cTAtODAgNTYtMTM2dDEzNi01NiAxMzYgNTYgNTYgMTM2eiIvPg0KPC9zdmc+DQo=);
|
||
|
background-repeat: no-repeat;
|
||
|
background-size: contain;
|
||
|
padding-left: 20px;
|
||
|
height: 0.9em;
|
||
|
display: inline-block;
|
||
|
}
|
||
|
.icon-cube {
|
||
|
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIj4NCiAgICA8cGF0aCBkPSJNODk2IDE2MjlsNjQwLTM0OXYtNjM2bC02NDAgMjMzdjc1MnptLTY0LTg2NWw2OTgtMjU0LTY5OC0yNTQtNjk4IDI1NHptODMyLTI1MnY3NjhxMCAzNS0xOCA2NXQtNDkgNDdsLTcwNCAzODRxLTI4IDE2LTYxIDE2dC02MS0xNmwtNzA0LTM4NHEtMzEtMTctNDktNDd0LTE4LTY1di03NjhxMC00MCAyMy03M3Q2MS00N2w3MDQtMjU2cTIyLTggNDQtOHQ0NCA4bDcwNCAyNTZxMzggMTQgNjEgNDd0MjMgNzN6Ii8+DQo8L3N2Zz4NCg==);
|
||
|
background-repeat: no-repeat;
|
||
|
background-size: contain;
|
||
|
padding-left: 20px;
|
||
|
height: 0.9em;
|
||
|
display: inline-block;
|
||
|
}
|
||
|
.icon-search-plus {
|
||
|
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiM2ZjZmNmYiIGQ9Ik0xMDg4IDgwMHY2NHEwIDEzLTkuNSAyMi41dC0yMi41IDkuNWgtMjI0djIyNHEwIDEzLTkuNSAyMi41dC0yMi41IDkuNWgtNjRxLTEzIDAtMjIuNS05LjV0LTkuNS0yMi41di0yMjRoLTIyNHEtMTMgMC0yMi41LTkuNXQtOS41LTIyLjV2LTY0cTAtMTMgOS41LTIyLjV0MjIuNS05LjVoMjI0di0yMjRxMC0xMyA5LjUtMjIuNXQyMi41LTkuNWg2NHExMyAwIDIyLjUgOS41dDkuNSAyMi41djIyNGgyMjRxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXptMTI4IDMycTAtMTg1LTEzMS41LTMxNi41dC0zMTYuNS0xMzEuNS0zMTYuNSAxMzEuNS0xMzEuNSAzMTYuNSAxMzEuNSAzMTYuNSAzMTYuNSAxMzEuNSAzMTYuNS0xMzEuNSAxMzEuNS0zMTYuNXptNTEyIDgzMnEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41cS01NCAwLTkwLTM4bC0zNDMtMzQycS0xNzkgMTI0LTM5OSAxMjQtMTQzIDAtMjczLjUtNTUuNXQtMjI1LTE1MC0xNTAtMjI1LTU1LjUtMjczLjUgNTUuNS0yNzMuNSAxNTAtMjI1IDIyNS0xNTAgMjczLjUtNTUuNSAyNzMuNSA1NS41IDIyNSAxNTAgMTUwIDIyNSA1NS41IDI3My41cTAgMjIwLTEyNCAzOTlsMzQzIDM0M3EzNyAzNyAzNyA5MHoiLz48L3N2Zz4=);
|
||
|
background-repeat: no-repeat;
|
||
|
background-size: contain;
|
||
|
padding-left: 20px;
|
||
|
height: 0.9em;
|
||
|
display: inline-block;
|
||
|
}
|
||
|
.icon-search-minus {
|
||
|
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiM2ZjZmNmYiIGQ9Ik0xMDg4IDgwMHY2NHEwIDEzLTkuNSAyMi41dC0yMi41IDkuNWgtNTc2cS0xMyAwLTIyLjUtOS41dC05LjUtMjIuNXYtNjRxMC0xMyA5LjUtMjIuNXQyMi41LTkuNWg1NzZxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXptMTI4IDMycTAtMTg1LTEzMS41LTMxNi41dC0zMTYuNS0xMzEuNS0zMTYuNSAxMzEuNS0xMzEuNSAzMTYuNSAxMzEuNSAzMTYuNSAzMTYuNSAxMzEuNSAzMTYuNS0xMzEuNSAxMzEuNS0zMTYuNXptNTEyIDgzMnEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41cS01NCAwLTkwLTM4bC0zNDMtMzQycS0xNzkgMTI0LTM5OSAxMjQtMTQzIDAtMjczLjUtNTUuNXQtMjI1LTE1MC0xNTAtMjI1LTU1LjUtMjczLjUgNTUuNS0yNzMuNSAxNTAtMjI1IDIyNS0xNTAgMjczLjUtNTUuNSAyNzMuNSA1NS41IDIyNSAxNTAgMTUwIDIyNSA1NS41IDI3My41cTAgMjIwLTEyNCAzOTlsMzQzIDM0M3EzNyAzNyAzNyA5MHoiLz48L3N2Zz4=);
|
||
|
background-repeat: no-repeat;
|
||
|
background-size: contain;
|
||
|
padding-left: 20px;
|
||
|
height: 0.9em;
|
||
|
display: inline-block;
|
||
|
}
|
||
|
.icon-star {
|
||
|
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNzI4IDY0N3EwIDIyLTI2IDQ4bC0zNjMgMzU0IDg2IDUwMHExIDcgMSAyMCAwIDIxLTEwLjUgMzUuNXQtMzAuNSAxNC41cS0xOSAwLTQwLTEybC00NDktMjM2LTQ0OSAyMzZxLTIyIDEyLTQwIDEyLTIxIDAtMzEuNS0xNC41dC0xMC41LTM1LjVxMC02IDItMjBsODYtNTAwLTM2NC0zNTRxLTI1LTI3LTI1LTQ4IDAtMzcgNTYtNDZsNTAyLTczIDIyNS00NTVxMTktNDEgNDktNDF0NDkgNDFsMjI1IDQ1NSA1MDIgNzNxNTYgOSA1NiA0NnoiIGZpbGw9IiMwMDAiLz48L3N2Zz4=);
|
||
|
background-repeat: no-repeat;
|
||
|
background-size: contain;
|
||
|
padding-left: 20px;
|
||
|
height: 0.9em;
|
||
|
display: inline-block;
|
||
|
}
|
||
|
.icon-sponsor {
|
||
|
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik04OTYgMTY2NHEtMjYgMC00NC0xOGwtNjI0LTYwMnEtMTAtOC0yNy41LTI2dC01NS41LTY1LjUtNjgtOTcuNS01My41LTEyMS0yMy41LTEzOHEwLTIyMCAxMjctMzQ0dDM1MS0xMjRxNjIgMCAxMjYuNSAyMS41dDEyMCA1OCA5NS41IDY4LjUgNzYgNjhxMzYtMzYgNzYtNjh0OTUuNS02OC41IDEyMC01OCAxMjYuNS0yMS41cTIyNCAwIDM1MSAxMjR0MTI3IDM0NHEwIDIyMS0yMjkgNDUwbC02MjMgNjAwcS0xOCAxOC00NCAxOHoiIGZpbGw9IiNlYTRhYWEiLz48L3N2Zz4=);
|
||
|
background-repeat: no-repeat;
|
||
|
background-size: contain;
|
||
|
padding-left: 20px;
|
||
|
height: 0.9em;
|
||
|
display: inline-block;
|
||
|
}
|
||
|
|
||
|
|
||
|
.ct-double-octave:after,.ct-major-eleventh:after,.ct-major-second:after,.ct-major-seventh:after,.ct-major-sixth:after,.ct-major-tenth:after,.ct-major-third:after,.ct-major-twelfth:after,.ct-minor-second:after,.ct-minor-seventh:after,.ct-minor-sixth:after,.ct-minor-third:after,.ct-octave:after,.ct-perfect-fifth:after,.ct-perfect-fourth:after,.ct-square:after{content:"";clear:both}.ct-label{fill:rgba(0,0,0,.4);color:rgba(0,0,0,.4);font-size:.75rem;line-height:1}.ct-grid-background,.ct-line{fill:none}.ct-chart-bar .ct-label,.ct-chart-line .ct-label{display:block;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.ct-chart-donut .ct-label,.ct-chart-pie .ct-label{dominant-baseline:central}.ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-label.ct-vertical.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-end;-webkit-justify-content:flex-end;-ms-flex-pack:flex-end;justify-content:flex-end;text-align:right;text-anchor:end}.ct-label.ct-vertical.ct-end{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar .ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;text-anchor:start}.ct-chart-bar .ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:flex-end;-webkit-justify-content:flex-end;-ms-flex-pack:flex-end;justify-content:flex-end;text-align:right;text-anchor:end}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:end}.ct-grid{stroke:rgba(0,0,0,.2);stroke-width:1px;stroke-dasharray:2px}.ct-point{stroke-width:10px;stroke-linecap:round}.ct-line{stroke-width:4px}.ct-area{stroke:none;fill-opacity:.1}.ct-bar{fill:none;stroke-width:10px}.ct-slice-donut{fill:none;stroke-width:60px}.ct-series-a .ct-bar,.ct-series-a .ct-line,.ct-series-a .ct-point,.ct-series-a .ct-slice-donut{stroke:#d70206}.ct-series-a .ct-area,.ct-series-a .ct-slice-donut-solid,.c
|
||
|
</head><body><div class="container"><div class="containerleft">
|
||
|
<h1>Summary<a class="button" href="https://github.com/danielpalme/ReportGenerator" title="Star on GitHub"><i class="icon-star"></i>Star</a><a class="button" href="https://github.com/sponsors/danielpalme" title="Become a sponsor"><i class="icon-sponsor"></i>Sponsor</a></h1>
|
||
|
<table class="overview table-fixed">
|
||
|
<colgroup>
|
||
|
<col class="column150" />
|
||
|
<col />
|
||
|
</colgroup>
|
||
|
<tbody>
|
||
|
<tr><th>Generated on:</th><td>1/27/2023 - 10:02:10 AM</td></tr>
|
||
|
<tr><th>Parser:</th><td>CoberturaParser</td></tr>
|
||
|
<tr><th>Assemblies:</th><td>2</td></tr>
|
||
|
<tr><th>Classes:</th><td>4</td></tr>
|
||
|
<tr><th>Files:</th><td>4</td></tr>
|
||
|
<tr><th>Covered lines:</th><td>165</td></tr>
|
||
|
<tr><th>Uncovered lines:</th><td>50</td></tr>
|
||
|
<tr><th>Coverable lines:</th><td>215</td></tr>
|
||
|
<tr><th>Total lines:</th><td>355</td></tr>
|
||
|
<tr><th>Line coverage:</th><td>76.7% (165 of 215)</td></tr>
|
||
|
<tr><th>Covered branches:</th><td>44</td></tr>
|
||
|
<tr><th>Total branches:</th><td>68</td></tr>
|
||
|
<tr><th>Branch coverage:</th><td>64.7% (44 of 68)</td></tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
<h1>Risk Hotspots</h1>
|
||
|
<risk-hotspots>
|
||
|
</risk-hotspots>
|
||
|
<p>No risk hotspots found.</p>
|
||
|
<h1>Coverage</h1>
|
||
|
<coverage-info>
|
||
|
<table class="overview table-fixed stripped">
|
||
|
<colgroup>
|
||
|
<col />
|
||
|
<col class="column90" />
|
||
|
<col class="column105" />
|
||
|
<col class="column100" />
|
||
|
<col class="column70" />
|
||
|
<col class="column60" />
|
||
|
<col class="column112" />
|
||
|
<col class="column90" />
|
||
|
<col class="column70" />
|
||
|
<col class="column60" />
|
||
|
<col class="column112" />
|
||
|
</colgroup>
|
||
|
<thead><tr><th>Name</th><th class="right">Covered</th><th class="right">Uncovered</th><th class="right">Coverable</th><th class="right">Total</th><th class="center" colspan="2">Line coverage</th><th class="right">Covered</th><th class="right">Total</th><th class="center" colspan="2">Branch coverage</th></tr></thead>
|
||
|
<tbody>
|
||
|
<tr><th>ShintenScript</th><th class="right">113</th><th class="right">50</th><th class="right">163</th><th class="right">288</th><th title="LineCoverage: 113/163" class="right">69.3%</th><th><table class="coverage"><tr><td class="green covered69"> </td><td class="red covered31"> </td></tr></table></th><th class="right">44</th><th class="right">68</th><th class="right" title="44/68">64.7%</th><th><table class="coverage"><tr><td class="green covered65"> </td><td class="red covered35"> </td></tr></table></th></tr>
|
||
|
<tr><td><a href="ShintenScript_Lexer.html">ShintenScript.Lexer</a></td><td class="right">105</td><td class="right">40</td><td class="right">145</td><td class="right">217</td><td title="LineCoverage: 105/145" class="right">72.4%</td><td><table class="coverage"><tr><td class="green covered72"> </td><td class="red covered28"> </td></tr></table></td><td class="right">35</td><td class="right">50</td><td class="right" title="35/50">70%</td><td><table class="coverage"><tr><td class="green covered70"> </td><td class="red covered30"> </td></tr></table></td></tr>
|
||
|
<tr><td><a href="ShintenScript_LexingException.html">ShintenScript.LexingException</a></td><td class="right">0</td><td class="right">3</td><td class="right">3</td><td class="right">16</td><td title="LineCoverage: 0/3" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
|
||
|
<tr><td><a href="ShintenScript_Token.html">ShintenScript.Token</a></td><td class="right">8</td><td class="right">7</td><td class="right">15</td><td class="right">55</td><td title="LineCoverage: 8/15" class="right">53.3%</td><td><table class="coverage"><tr><td class="green covered53"> </td><td class="red covered47"> </td></tr></table></td><td class="right">9</td><td class="right">18</td><td class="right" title="9/18">50%</td><td><table class="coverage"><tr><td class="green covered50"> </td><td class="red covered50"> </td></tr></table></td></tr>
|
||
|
<tr><th>ShintenScriptTest</th><th class="right">52</th><th class="right">0</th><th class="right">52</th><th class="right">67</th><th title="LineCoverage: 52/52" class="right">100%</th><th><table class="coverage"><tr><td class="green covered100"> </td></tr></table></th><th class="right">0</th><th class="right">0</th><th class="right" title="-"></th><th><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></th></tr>
|
||
|
<tr><td><a href="ShintenScriptTest_LexerTests.html">ShintenScriptTest.LexerTests</a></td><td class="right">52</td><td class="right">0</td><td class="right">52</td><td class="right">67</td><td title="LineCoverage: 52/52" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</coverage-info>
|
||
|
<div class="footer">Generated by: ReportGenerator 4.7.1.0<br />1/27/2023 - 10:02:10 AM<br /><a href="https://github.com/danielpalme/ReportGenerator">GitHub</a> | <a href="http://www.palmmedia.de">www.palmmedia.de</a></div></div></div>
|
||
|
<script type="text/javascript">/* <![CDATA[ */ /* Chartist.js 0.11.0
|
||
|
* Copyright © 2017 Gion Kunz
|
||
|
* Free to use under either the WTFPL license or the MIT license.
|
||
|
* https://raw.githubusercontent.com/gionkunz/chartist-js/master/LICENSE-WTFPL
|
||
|
* https://raw.githubusercontent.com/gionkunz/chartist-js/master/LICENSE-MIT
|
||
|
*/
|
||
|
|
||
|
!function (a, b) { "function" == typeof define && define.amd ? define("Chartist", [], function () { return a.Chartist = b() }) : "object" == typeof module && module.exports ? module.exports = b() : a.Chartist = b() }(this, function () {
|
||
|
var a = { version: "0.11.0" }; return function (a, b, c) { "use strict"; c.namespaces = { svg: "http://www.w3.org/2000/svg", xmlns: "http://www.w3.org/2000/xmlns/", xhtml: "http://www.w3.org/1999/xhtml", xlink: "http://www.w3.org/1999/xlink", ct: "http://gionkunz.github.com/chartist-js/ct" }, c.noop = function (a) { return a }, c.alphaNumerate = function (a) { return String.fromCharCode(97 + a % 26) }, c.extend = function (a) { var b, d, e; for (a = a || {}, b = 1; b < arguments.length; b++) { d = arguments[b]; for (var f in d) e = d[f], "object" != typeof e || null === e || e instanceof Array ? a[f] = e : a[f] = c.extend(a[f], e) } return a }, c.replaceAll = function (a, b, c) { return a.replace(new RegExp(b, "g"), c) }, c.ensureUnit = function (a, b) { return "number" == typeof a && (a += b), a }, c.quantity = function (a) { if ("string" == typeof a) { var b = /^(\d+)\s*(.*)$/g.exec(a); return { value: +b[1], unit: b[2] || void 0 } } return { value: a } }, c.querySelector = function (a) { return a instanceof Node ? a : b.querySelector(a) }, c.times = function (a) { return Array.apply(null, new Array(a)) }, c.sum = function (a, b) { return a + (b ? b : 0) }, c.mapMultiply = function (a) { return function (b) { return b * a } }, c.mapAdd = function (a) { return function (b) { return b + a } }, c.serialMap = function (a, b) { var d = [], e = Math.max.apply(null, a.map(function (a) { return a.length })); return c.times(e).forEach(function (c, e) { var f = a.map(function (a) { return a[e] }); d[e] = b.apply(null, f) }), d }, c.roundWithPrecision = function (a, b) { var d = Math.pow(10, b || c.precision); return Math.round(a * d) / d }, c.precision = 8, c.escapingMap = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }, c.serialize = function (a) { return null === a || void 0 === a ? a : ("number" == typeof a ? a = "" + a : "object" == typeof a && (a = JSON.stringify({ data: a })), Object.keys(c.escapingMap).reduce(function (a, b) { return c.replaceAll(a, b, c.escapingMap[b]) }, a)) }, c.deserialize = function (a) { if ("string" != typeof a) return a; a = Object.keys(c.escapingMap).reduce(function (a, b) { return c.replaceAll(a, c.escapingMap[b], b) }, a); try { a = JSON.parse(a), a = void 0 !== a.data ? a.data : a } catch (b) { } return a }, c.createSvg = function (a, b, d, e) { var f; return b = b || "100%", d = d || "100%", Array.prototype.slice.call(a.querySelectorAll("svg")).filter(function (a) { return a.getAttributeNS(c.namespaces.xmlns, "ct") }).forEach(function (b) { a.removeChild(b) }), f = new c.Svg("svg").attr({ width: b, height: d }).addClass(e), f._node.style.width = b, f._node.style.height = d, a.appendChild(f._node), f }, c.normalizeData = function (a, b, d) { var e, f = { raw: a, normalized: {} }; return f.normalized.series = c.getDataArray({ series: a.series || [] }, b, d), e = f.normalized.series.every(function (a) { return a instanceof Array }) ? Math.max.apply(null, f.normalized.series.map(function (a) { return a.length })) : f.normalized.series.length, f.normalized.labels = (a.labels || []).slice(), Array.prototype.push.apply(f.normalized.labels, c.times(Math.max(0, e - f.normalized.labels.length)).map(function () { return "" })), b && c.reverseData(f.normalized), f }, c.safeHasProperty = function (a, b) { return null !== a && "object" == typeof a && a.hasOwnProperty(b) }, c.isDataHoleValue = function (a) { return null === a || void 0 === a || "number" == typeof a && isNaN(a) }, c.reverseData = function (a) { a.labels.reverse(), a.series.reverse(); for (var b = 0; b < a.series.length; b++)"object" == typeof a.series[b] && void 0 !== a.series[b].data ? a.series[b].data.reverse() : a.series[b] instanceof Array && a.series[b].reverse() }, c.getDataArray = function (a, b, d) { function e(a) { if (c.safeHasProperty(a, "value")) return e(a.value); if (c.safeHasProperty(a, "data")) return e(a.data); if (a instanceof Array) return a.map(e); if (!c.isDataHoleValue(a)) { if (d) { var b = {}; return "string" == typeof d ? b[d] = c.getNumberOrUndefined(a) : b.y = c.getNumberOrUndefined(a)
|
||
|
"use strict"; function d(a) {
|
||
|
var b, d; a.distributeSeries ? (b = c.normalizeData(this.data, a.reverseData, a.horizontalBars ? "x" : "y"), b.normalized.series = b.normalized.series.map(function (a) { return [a] })) : b = c.normalizeData(this.data, a.reverseData, a.horizontalBars ? "x" : "y"), this.svg = c.createSvg(this.container, a.width, a.height, a.classNames.chart + (a.horizontalBars ? " " + a.classNames.horizontalBars : "")); var e = this.svg.elem("g").addClass(a.classNames.gridGroup), g = this.svg.elem("g"), h = this.svg.elem("g").addClass(a.classNames.labelGroup); if (a.stackBars && 0 !== b.normalized.series.length) {
|
||
|
var i = c.serialMap(b.normalized.series, function () {
|
||
|
return Array.prototype.slice.call(arguments).map(function (a) { return a }).reduce(function (a, b) { return { x: a.x + (b && b.x) || 0, y: a.y + (b && b.y) || 0 } }, { x: 0, y: 0 })
|
||
|
}); d = c.getHighLow([i], a, a.horizontalBars ? "x" : "y")
|
||
|
} else d = c.getHighLow(b.normalized.series, a, a.horizontalBars ? "x" : "y"); d.high = +a.high || (0 === a.high ? 0 : d.high), d.low = +a.low || (0 === a.low ? 0 : d.low); var j, k, l, m, n, o = c.createChartRect(this.svg, a, f.padding); k = a.distributeSeries && a.stackBars ? b.normalized.labels.slice(0, 1) : b.normalized.labels, a.horizontalBars ? (j = m = void 0 === a.axisX.type ? new c.AutoScaleAxis(c.Axis.units.x, b.normalized.series, o, c.extend({}, a.axisX, { highLow: d, referenceValue: 0 })) : a.axisX.type.call(c, c.Axis.units.x, b.normalized.series, o, c.extend({}, a.axisX, { highLow: d, referenceValue: 0 })), l = n = void 0 === a.axisY.type ? new c.StepAxis(c.Axis.units.y, b.normalized.series, o, { ticks: k }) : a.axisY.type.call(c, c.Axis.units.y, b.normalized.series, o, a.axisY)) : (l = m = void 0 === a.axisX.type ? new c.StepAxis(c.Axis.units.x, b.normalized.series, o, { ticks: k }) : a.axisX.type.call(c, c.Axis.units.x, b.normalized.series, o, a.axisX), j = n = void 0 === a.axisY.type ? new c.AutoScaleAxis(c.Axis.units.y, b.normalized.series, o, c.extend({}, a.axisY, { highLow: d, referenceValue: 0 })) : a.axisY.type.call(c, c.Axis.units.y, b.normalized.series, o, c.extend({}, a.axisY, { highLow: d, referenceValue: 0 }))); var p = a.horizontalBars ? o.x1 + j.projectValue(0) : o.y1 - j.projectValue(0), q = []; l.createGridAndLabels(e, h, this.supportsForeignObject, a, this.eventEmitter), j.createGridAndLabels(e, h, this.supportsForeignObject, a, this.eventEmitter), a.showGridBackground && c.createGridBackground(e, o, a.classNames.gridBackground, this.eventEmitter), b.raw.series.forEach(function (d, e) { var f, h, i = e - (b.raw.series.length - 1) / 2; f = a.distributeSeries && !a.stackBars ? l.axisLength / b.normalized.series.length / 2 : a.distributeSeries && a.stackBars ? l.axisLength / 2 : l.axisLength / b.normalized.series[e].length / 2, h = g.elem("g"), h.attr({ "ct:series-name": d.name, "ct:meta": c.serialize(d.meta) }), h.addClass([a.classNames.series, d.className || a.classNames.series + "-" + c.alphaNumerate(e)].join(" ")), b.normalized.series[e].forEach(function (g, k) { var r, s, t, u; if (u = a.distributeSeries && !a.stackBars ? e : a.distributeSeries && a.stackBars ? 0 : k, r = a.horizontalBars ? { x: o.x1 + j.projectValue(g && g.x ? g.x : 0, k, b.normalized.series[e]), y: o.y1 - l.projectValue(g && g.y ? g.y : 0, u, b.normalized.series[e]) } : { x: o.x1 + l.projectValue(g && g.x ? g.x : 0, u, b.normalized.series[e]), y: o.y1 - j.projectValue(g && g.y ? g.y : 0, k, b.normalized.series[e]) }, l instanceof c.StepAxis && (l.options.stretch || (r[l.units.pos] += f * (a.horizontalBars ? -1 : 1)), r[l.units.pos] += a.stackBars || a.distributeSeries ? 0 : i * a.seriesBarDistance * (a.horizontalBars ? -1 : 1)), t = q[k] || p, q[k] = t - (p - r[l.counterUnits.pos]), void 0 !== g) { var v = {}; v[l.units.pos + "1"] = r[l.units.pos], v[l.units.pos + "2"] = r[l.units.pos], !a.stackBars || "accumulate" !== a.stackMode && a.stackMode ? (v[l.counterUnits.pos + "1"] = p, v[l.counterUnits.pos + "2"] = r[l.counterUnits.pos]) : (v[l.counterUnits.pos + "1"] = t, v[l.counterUnits.pos + "2"] = q[k]), v.x1 = Math.min(Math.max(v.x1, o.x1), o.x2), v.x2 = Math.min(Math.max(v.x2, o.x1), o.x2), v.y1 = Math.min(Math.max(v.y1, o.y2), o.y1), v.y2 = Math.min(Math.max(v.y2, o.y2), o.y1); var w = c.getMetaData(d, k); s = h.elem("line", v, a.classNames.bar).attr({ "ct:value": [g.x, g.y].filter(c.isNumeric).join(","), "ct:meta": c.serialize(w) }), this.eventEmitter.emit("draw", c.extend({ type: "bar", value: g, index: k, meta: w, series: d, seriesIndex: e, axisX: m, axisY: n, chartRect: o, group: h, element: s }, v)) } }.bind(this)) }.bind(this)), this.eventEmitter.emit("created", { bounds: j.bounds, chartRect: o, axisX: m, axisY: n, svg: this.svg, options: a })
|
||
|
} function e(a, b, d, e) { c.Bar["super"].constructor.call(this, a, b, f, c.extend({}, f, d), e) } var f = { axisX: { offset: 30, position: "end", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: c.noop, scaleMinSpace: 30, onlyInteger: !1 }, axisY: { offset: 40, position: "start", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: c.noop, scaleMinSpace: 20, onlyInteger: !1 }, width: void 0, height: void 0, high: void 0, low: void 0, referenceValue: 0, chartPadding: { top: 15, right: 15, bottom: 5, left: 10 }, seriesBarDistance: 15, stackBars: !1, stackMode: "accumulate", horizontalBars: !1, distributeSeries: !1, reverseData: !1, showGridBackground: !1, classNames: { chart: "ct-chart-bar", horizontalBars: "ct-horizontal-bars", label: "ct-label", labelGroup: "ct-labels", series: "ct-series", bar: "ct-bar", grid: "ct-grid", gridGroup: "ct-grids", gridBackground: "ct-grid-background", vertical: "ct-vertical", horizontal: "ct-horizontal", start: "ct-start", end: "ct-end" } }; c.Bar = c.Base.extend({ constructor: e, createChart: d })
|
||
|
}(window, document, a), function (a, b, c) { "use strict"; function d(a, b, c) { var d = b.x > a.x; return d && "explode" === c || !d && "implode" === c ? "start" : d && "implode" === c || !d && "explode" === c ? "end" : "middle" } function e(a) { var b, e, f, h, i, j = c.normalizeData(this.data), k = [], l = a.startAngle; this.svg = c.createSvg(this.container, a.width, a.height, a.donut ? a.classNames.chartDonut : a.classNames.chartPie), e = c.createChartRect(this.svg, a, g.padding), f = Math.min(e.width() / 2, e.height() / 2), i = a.total || j.normalized.series.reduce(function (a, b) { return a + b }, 0); var m = c.quantity(a.donutWidth); "%" === m.unit && (m.value *= f / 100), f -= a.donut && !a.donutSolid ? m.value / 2 : 0, h = "outside" === a.labelPosition || a.donut && !a.donutSolid ? f : "center" === a.labelPosition ? 0 : a.donutSolid ? f - m.value / 2 : f / 2, h += a.labelOffset; var n = { x: e.x1 + e.width() / 2, y: e.y2 + e.height() / 2 }, o = 1 === j.raw.series.filter(function (a) { return a.hasOwnProperty("value") ? 0 !== a.value : 0 !== a }).length; j.raw.series.forEach(function (a, b) { k[b] = this.svg.elem("g", null, null) }.bind(this)), a.showLabel && (b = this.svg.elem("g", null, null)), j.raw.series.forEach(function (e, g) { if (0 !== j.normalized.series[g] || !a.ignoreEmptyValues) { k[g].attr({ "ct:series-name": e.name }), k[g].addClass([a.classNames.series, e.className || a.classNames.series + "-" + c.alphaNumerate(g)].join(" ")); var p = i > 0 ? l + j.normalized.series[g] / i * 360 : 0, q = Math.max(0, l - (0 === g || o ? 0 : .2)); p - q >= 359.99 && (p = q + 359.99); var r, s, t, u = c.polarToCartesian(n.x, n.y, f, q), v = c.polarToCartesian(n.x, n.y, f, p), w = new c.Svg.Path(!a.donut || a.donutSolid).move(v.x, v.y).arc(f, f, 0, p - l > 180, 0, u.x, u.y); a.donut ? a.donutSolid && (t = f - m.value, r = c.polarToCartesian(n.x, n.y, t, l - (0 === g || o ? 0 : .2)), s = c.polarToCartesian(n.x, n.y, t, p), w.line(r.x, r.y), w.arc(t, t, 0, p - l > 180, 1, s.x, s.y)) : w.line(n.x, n.y); var x = a.classNames.slicePie; a.donut && (x = a.classNames.sliceDonut, a.donutSolid && (x = a.classNames.sliceDonutSolid)); var y = k[g].elem("path", { d: w.stringify() }, x); if (y.attr({ "ct:value": j.normalized.series[g], "ct:meta": c.serialize(e.meta) }), a.donut && !a.donutSolid && (y._node.style.strokeWidth = m.value + "px"), this.eventEmitter.emit("draw", { type: "slice", value: j.normalized.series[g], totalDataSum: i, index: g, meta: e.meta, series: e, group: k[g], element: y, path: w.clone(), center: n, radius: f, startAngle: l, endAngle: p }), a.showLabel) { var z; z = 1 === j.raw.series.length ? { x: n.x, y: n.y } : c.polarToCartesian(n.x, n.y, h, l + (p - l) / 2); var A; A = j.normalized.labels && !c.isFalseyButZero(j.normalized.labels[g]) ? j.normalized.labels[g] : j.normalized.series[g]; var B = a.labelInterpolationFnc(A, g); if (B || 0 === B) { var C = b.elem("text", { dx: z.x, dy: z.y, "text-anchor": d(n, z, a.labelDirection) }, a.classNames.label).text("" + B); this.eventEmitter.emit("draw", { type: "label", index: g, group: b, element: C, text: "" + B, x: z.x, y: z.y }) } } l = p } }.bind(this)), this.eventEmitter.emit("created", { chartRect: e, svg: this.svg, options: a }) } function f(a, b, d, e) { c.Pie["super"].constructor.call(this, a, b, g, c.extend({}, g, d), e) } var g = { width: void 0, height: void 0, chartPadding: 5, classNames: { chartPie: "ct-chart-pie", chartDonut: "ct-chart-donut", series: "ct-series", slicePie: "ct-slice-pie", sliceDonut: "ct-slice-donut", sliceDonutSolid: "ct-slice-donut-solid", label: "ct-label" }, startAngle: 0, total: void 0, donut: !1, donutSolid: !1, donutWidth: 60, showLabel: !0, labelOffset: 0, labelPosition: "inside", labelInterpolationFnc: c.noop, labelDirection: "neutral", reverseData: !1, ignoreEmptyValues: !1 }; c.Pie = c.Base.extend({ constructor: f, createChart: e, determineAnchorPosition: d }) }(window, document, a), a
|
||
|
});
|
||
|
|
||
|
var i, l, selectedLine = null;
|
||
|
|
||
|
/* Navigate to hash without browser history entry */
|
||
|
var navigateToHash = function () {
|
||
|
if (window.history !== undefined && window.history.replaceState !== undefined) {
|
||
|
window.history.replaceState(undefined, undefined, this.getAttribute("href"));
|
||
|
}
|
||
|
};
|
||
|
|
||
|
var hashLinks = document.getElementsByClassName('navigatetohash');
|
||
|
for (i = 0, l = hashLinks.length; i < l; i++) {
|
||
|
hashLinks[i].addEventListener('click', navigateToHash);
|
||
|
}
|
||
|
|
||
|
/* Switch test method */
|
||
|
var switchTestMethod = function () {
|
||
|
var method = this.getAttribute("value");
|
||
|
console.log("Selected test method: " + method);
|
||
|
|
||
|
var lines, i, l, coverageData, lineAnalysis, cells;
|
||
|
|
||
|
lines = document.querySelectorAll('.lineAnalysis tr');
|
||
|
|
||
|
for (i = 1, l = lines.length; i < l; i++) {
|
||
|
coverageData = JSON.parse(lines[i].getAttribute('data-coverage').replace(/'/g, '"'));
|
||
|
lineAnalysis = coverageData[method];
|
||
|
cells = lines[i].querySelectorAll('td');
|
||
|
if (lineAnalysis === undefined) {
|
||
|
lineAnalysis = coverageData.AllTestMethods;
|
||
|
if (lineAnalysis.LVS !== 'gray') {
|
||
|
cells[0].setAttribute('class', 'red');
|
||
|
cells[1].innerText = cells[1].textContent = '0';
|
||
|
cells[4].setAttribute('class', 'lightred');
|
||
|
}
|
||
|
} else {
|
||
|
cells[0].setAttribute('class', lineAnalysis.LVS);
|
||
|
cells[1].innerText = cells[1].textContent = lineAnalysis.VC;
|
||
|
cells[4].setAttribute('class', 'light' + lineAnalysis.LVS);
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
|
||
|
var testMethods = document.getElementsByClassName('switchtestmethod');
|
||
|
for (i = 0, l = testMethods.length; i < l; i++) {
|
||
|
testMethods[i].addEventListener('change', switchTestMethod);
|
||
|
}
|
||
|
|
||
|
/* Highlight test method by line */
|
||
|
var toggleLine = function () {
|
||
|
if (selectedLine === this) {
|
||
|
selectedLine = null;
|
||
|
} else {
|
||
|
selectedLine = null;
|
||
|
unhighlightTestMethods();
|
||
|
highlightTestMethods.call(this);
|
||
|
selectedLine = this;
|
||
|
}
|
||
|
|
||
|
};
|
||
|
var highlightTestMethods = function () {
|
||
|
if (selectedLine !== null) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
var lineAnalysis;
|
||
|
var coverageData = JSON.parse(this.getAttribute('data-coverage').replace(/'/g, '"'));
|
||
|
var testMethods = document.getElementsByClassName('testmethod');
|
||
|
|
||
|
for (i = 0, l = testMethods.length; i < l; i++) {
|
||
|
lineAnalysis = coverageData[testMethods[i].id];
|
||
|
if (lineAnalysis === undefined) {
|
||
|
testMethods[i].className = testMethods[i].className.replace(/\s*light.+/g, "");
|
||
|
} else {
|
||
|
testMethods[i].className += ' light' + lineAnalysis.LVS;
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
var unhighlightTestMethods = function () {
|
||
|
if (selectedLine !== null) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
var testMethods = document.getElementsByClassName('testmethod');
|
||
|
for (i = 0, l = testMethods.length; i < l; i++) {
|
||
|
testMethods[i].className = testMethods[i].className.replace(/\s*light.+/g, "");
|
||
|
}
|
||
|
};
|
||
|
var coverableLines = document.getElementsByClassName('coverableline');
|
||
|
for (i = 0, l = coverableLines.length; i < l; i++) {
|
||
|
coverableLines[i].addEventListener('click', toggleLine);
|
||
|
coverableLines[i].addEventListener('mouseenter', highlightTestMethods);
|
||
|
coverableLines[i].addEventListener('mouseleave', unhighlightTestMethods);
|
||
|
}
|
||
|
|
||
|
/* History charts */
|
||
|
var renderChart = function (chart) {
|
||
|
// Remove current children (e.g. PNG placeholder)
|
||
|
while (chart.firstChild) {
|
||
|
chart.firstChild.remove();
|
||
|
}
|
||
|
|
||
|
var chartData = window[chart.getAttribute('data-data')];
|
||
|
var options = {
|
||
|
axisY: {
|
||
|
type: undefined,
|
||
|
onlyInteger: true
|
||
|
},
|
||
|
lineSmooth: false,
|
||
|
low: 0,
|
||
|
high: 100,
|
||
|
scaleMinSpace: 20,
|
||
|
onlyInteger: true,
|
||
|
fullWidth: true
|
||
|
};
|
||
|
var lineChart = new Chartist.Line(chart, {
|
||
|
labels: [],
|
||
|
series: chartData.series
|
||
|
}, options);
|
||
|
|
||
|
/* Zoom */
|
||
|
var zoomButtonDiv = document.createElement("div");
|
||
|
zoomButtonDiv.className = "toggleZoom";
|
||
|
var zoomButtonLink = document.createElement("a");
|
||
|
zoomButtonLink.setAttribute("href", "");
|
||
|
var zoomButtonText = document.createElement("i");
|
||
|
zoomButtonText.className = "icon-search-plus";
|
||
|
|
||
|
zoomButtonLink.appendChild(zoomButtonText);
|
||
|
zoomButtonDiv.appendChild(zoomButtonLink);
|
||
|
|
||
|
chart.appendChild(zoomButtonDiv);
|
||
|
|
||
|
zoomButtonDiv.addEventListener('click', function (event) {
|
||
|
event.preventDefault();
|
||
|
|
||
|
if (options.axisY.type === undefined) {
|
||
|
options.axisY.type = Chartist.AutoScaleAxis;
|
||
|
zoomButtonText.className = "icon-search-minus";
|
||
|
} else {
|
||
|
options.axisY.type = undefined;
|
||
|
zoomButtonText.className = "icon-search-plus";
|
||
|
}
|
||
|
|
||
|
lineChart.update(null, options);
|
||
|
});
|
||
|
|
||
|
var tooltip = document.createElement("div");
|
||
|
tooltip.className = "tooltip";
|
||
|
|
||
|
chart.appendChild(tooltip);
|
||
|
|
||
|
/* Tooltips */
|
||
|
var showToolTip = function () {
|
||
|
var point = this;
|
||
|
var index = [].slice.call(chart.getElementsByClassName('ct-point')).indexOf(point);
|
||
|
|
||
|
tooltip.innerHTML = chartData.tooltips[index % chartData.tooltips.length];
|
||
|
tooltip.style.display = 'block';
|
||
|
};
|
||
|
|
||
|
var moveToolTip = function (event) {
|
||
|
var box = chart.getBoundingClientRect();
|
||
|
var left = event.pageX - box.left - window.pageXOffset;
|
||
|
var top = event.pageY - box.top - window.pageYOffset;
|
||
|
|
||
|
left = left + 20;
|
||
|
top = top - tooltip.offsetHeight / 2;
|
||
|
|
||
|
if (left + tooltip.offsetWidth > box.width) {
|
||
|
left -= tooltip.offsetWidth + 40;
|
||
|
}
|
||
|
|
||
|
if (top < 0) {
|
||
|
top = 0;
|
||
|
}
|
||
|
|
||
|
if (top + tooltip.offsetHeight > box.height) {
|
||
|
top = box.height - tooltip.offsetHeight;
|
||
|
}
|
||
|
|
||
|
tooltip.style.left = left + 'px';
|
||
|
tooltip.style.top = top + 'px';
|
||
|
};
|
||
|
|
||
|
var hideToolTip = function () {
|
||
|
tooltip.style.display = 'none';
|
||
|
};
|
||
|
chart.addEventListener('mousemove', moveToolTip);
|
||
|
|
||
|
lineChart.on('created', function () {
|
||
|
var chartPoints = chart.getElementsByClassName('ct-point');
|
||
|
for (i = 0, l = chartPoints.length; i < l; i++) {
|
||
|
chartPoints[i].addEventListener('mousemove', showToolTip);
|
||
|
chartPoints[i].addEventListener('mouseout', hideToolTip);
|
||
|
}
|
||
|
});
|
||
|
};
|
||
|
|
||
|
var charts = document.getElementsByClassName('historychart');
|
||
|
for (i = 0, l = charts.length; i < l; i++) {
|
||
|
renderChart(charts[i]);
|
||
|
}
|
||
|
|
||
|
var assemblies = [
|
||
|
{
|
||
|
"name": "ShintenScript",
|
||
|
"classes": [
|
||
|
{ "name": "ShintenScript.Lexer", "rp": "ShintenScript_Lexer.html", "cl": 105, "ucl": 40, "cal": 145, "tl": 217, "ct": "LineCoverage", "mc": "-", "cb": 35, "tb": 50, "lch": [], "bch": [], "hc": [] },
|
||
|
{ "name": "ShintenScript.LexingException", "rp": "ShintenScript_LexingException.html", "cl": 0, "ucl": 3, "cal": 3, "tl": 16, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
|
||
|
{ "name": "ShintenScript.Token", "rp": "ShintenScript_Token.html", "cl": 8, "ucl": 7, "cal": 15, "tl": 55, "ct": "LineCoverage", "mc": "-", "cb": 9, "tb": 18, "lch": [], "bch": [], "hc": [] },
|
||
|
]},
|
||
|
{
|
||
|
"name": "ShintenScriptTest",
|
||
|
"classes": [
|
||
|
{ "name": "ShintenScriptTest.LexerTests", "rp": "ShintenScriptTest_LexerTests.html", "cl": 52, "ucl": 0, "cal": 52, "tl": 67, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
|
||
|
]},
|
||
|
];
|
||
|
|
||
|
var historicCoverageExecutionTimes = [];
|
||
|
|
||
|
var riskHotspotMetrics = [
|
||
|
];
|
||
|
|
||
|
var riskHotspots = [
|
||
|
];
|
||
|
|
||
|
var branchCoverageAvailable = true;
|
||
|
|
||
|
|
||
|
var translations = {
|
||
|
'top': 'Top:',
|
||
|
'all': 'All',
|
||
|
'assembly': 'Assembly',
|
||
|
'class': 'Class',
|
||
|
'method': 'Method',
|
||
|
'lineCoverage': 'LineCoverage',
|
||
|
'noGrouping': 'No grouping',
|
||
|
'byAssembly': 'By assembly',
|
||
|
'byNamespace': 'By namespace, Level:',
|
||
|
'all': 'All',
|
||
|
'collapseAll': 'Collapse all',
|
||
|
'expandAll': 'Expand all',
|
||
|
'grouping': 'Grouping:',
|
||
|
'filter': 'Filter:',
|
||
|
'name': 'Name',
|
||
|
'covered': 'Covered',
|
||
|
'uncovered': 'Uncovered',
|
||
|
'coverable': 'Coverable',
|
||
|
'total': 'Total',
|
||
|
'coverage': 'Line coverage',
|
||
|
'branchCoverage': 'Branch coverage',
|
||
|
'history': 'Coverage History',
|
||
|
'compareHistory': 'Compare with:',
|
||
|
'date': 'Date',
|
||
|
'allChanges': 'All changes',
|
||
|
'lineCoverageIncreaseOnly': 'Line coverage: Increase only',
|
||
|
'lineCoverageDecreaseOnly': 'Line coverage: Decrease only',
|
||
|
'branchCoverageIncreaseOnly': 'Branch coverage: Increase only',
|
||
|
'branchCoverageDecreaseOnly': 'Branch coverage: Decrease only'
|
||
|
};
|
||
|
|
||
|
|
||
|
!function(e){function r(r){for(var n,l,f=r[0],i=r[1],p=r[2],c=0,s=[];c<f.length;c++)l=f[c],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(a&&a(r);s.length;)s.shift()();return u.push.apply(u,p||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,f=1;f<t.length;f++)0!==o[t[f]]&&(n=!1);n&&(u.splice(r--,1),e=l(l.s=t[0]))}return e}var n={},o={0:0},u=[];function l(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.m=e,l.c=n,l.d=function(e,r,t){l.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,r){if(1&r&&(e=l(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(l.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)l.d(t,n,(function(r){return e[r]}).bind(null,n));return t},l.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(r,"a",r),r},l.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},l.p="";var f=window.webpackJsonp=window.webpackJsonp||[],i=f.push.bind(f);f.push=r,f=f.slice();for(var p=0;p<f.length;p++)r(f[p]);var a=i;t()}([]);
|
||
|
function _createForOfIteratorHelper(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=_unsupportedIterableToArray(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,c=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return a=t.done,t},e:function(t){c=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(c)throw i}}}}function _unsupportedIterableToArray(t,e){if(t){if("string"==typeof t)return _arrayLikeToArray(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(t,e):void 0}}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _defineProperties(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function _createClass(t,e,n){return e&&_defineProperties(t.prototype,e),n&&_defineProperties(t,n),t}(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{"+5Eg":function(t,e,n){var r=n("wA6s"),o=n("6XUM"),i=n("M7Xk").onFreeze,a=n("cZY6"),c=n("rG8t"),u=Object.seal;r({target:"Object",stat:!0,forced:c((function(){u(1)})),sham:!a},{seal:function(t){return u&&o(t)?u(i(t)):t}})},"+IJR":function(t,e,n){n("wA6s")({target:"Number",stat:!0},{isNaN:function(t){return t!=t}})},"/AsP":function(t,e,n){var r=n("yIiL"),o=n("SDMg"),i=r("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},"/Ybd":function(t,e,n){var r=n("T69T"),o=n("XdSI"),i=n("F26l"),a=n("LdO1"),c=Object.defineProperty;e.f=r?c:function(t,e,n){if(i(t),e=a(e,!0),i(n),o)try{return c(t,e,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},"0Ds2":function(t,e,n){var r=n("m41k")("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,"/./"[t](e)}catch(o){}}return!1}},"0luR":function(t,e,n){"use strict";var r=n("wA6s"),o=n("T69T"),i=n("ocAm"),a=n("OG5q"),c=n("6XUM"),u=n("/Ybd").f,s=n("NIlc"),f=i.Symbol;if(o&&"function"==typeof f&&(!("description"in f.prototype)||void 0!==f().description)){var l={},p=function t(){var e=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),n=this instanceof t?new f(e):void 0===e?f():f(e);return""===e&&(l[n]=!0),n};s(p,f);var h=p.prototype=f.prototype;h.constructor=p;var v=h.toString,d="Symbol(test)"==String(f("test")),g=/^Symbol\((.*)\)[^)]+$/;u(h,"description",{configurable:!0,get:function(){var t=c(this)?this.valueOf():this,e=v.call(t);if(a(l,t))return"";var n=d?e.slice(7,-1):e.replace(g,"$1");return""===n?void 0:n}}),r({global:!0,forced:!0},{Symbol:p})}},1:function(t,e,n){n("mRIq"),n("R0gw"),t.exports=n("hN/g")},"149L":function(t,e,n){var r=n("Ew/G");t.exports=r("document","documentElement")},"1p6F":function(t,e,n){var r=n("6XUM"),o=n("ezU2"),i=n("m41k")("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[i])?!!e:"RegExp"==o(t))}},"2MGJ":function(t,e,n){var r=n("ocAm"),o=n("aJMj"),i=n("OG5q"),a=n("Fqhe"),c=n("6urC"),u=n("XH/I"),s=u.get,f=u.enforce,l=String(String).split("String");(t.exports=function(t,e,n,c){var u=!!c&&!!c.unsafe,s=!!c&&!!c.enumerable,p=!!c&&!!c.noTargetGet;"function"==typeof n&&("string"!=typeof e||i(n,"name")||o(n,"name",e),f(n).source=l.join("string"==typeof e?e:"")),t!==r?(u?!p&&t[e]&&(s=!0):delete t[e],s?t[e]=n:o(t,e,n)):s?t[e]=n:a(e,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&s(this).source||c(this)}))},"2RDa":function(t,e,n){var r,o=n("F26l
|
||
|
|
||
|
function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArrayLimit(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,i=!1,o=void 0;try{for(var s,a=e[Symbol.iterator]();!(r=(s=a.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(u){i=!0,o=u}finally{try{r||null==a.return||a.return()}finally{if(i)throw o}}return n}}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _createForOfIteratorHelper(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function _construct(e,t,n){return(_construct=_isNativeReflectConstruct()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&_setPrototypeOf(i,n.prototype),i}).apply(null,arguments)}function _get(e,t,n){return(_get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=_superPropBase(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(n):i.value}})(e,t,n||e)}function _superPropBase(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=_getPrototypeOf(e)););return e}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_setPrototypeOf(e,t)}function _setPrototypeOf(e,t){return(_setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _createSuper(e){var t=_isNativeReflectConstruct();return function(){var n,r=_getPrototypeOf(e);if(t){var i=_getPrototypeOf(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return _possibleConstructorReturn(this,n)}}function _possibleConstructorReturn(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?_assertThisInitialized(e):t}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}
|
||
|
</body></html>
|