ldc-crm/tests/coverage/Lib/dashboard.html
2023-06-20 11:55:52 +02:00

299 lines
10 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Dashboard for /app/srcs/app/Lib</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="../_css/bootstrap.min.css" rel="stylesheet" type="text/css">
<link href="../_css/nv.d3.min.css" rel="stylesheet" type="text/css">
<link href="../_css/style.css" rel="stylesheet" type="text/css">
<link href="../_css/custom.css" rel="stylesheet" type="text/css">
</head>
<body>
<header>
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="../index.html">/app/srcs/app</a></li>
<li class="breadcrumb-item"><a href="index.html">Lib</a></li>
<li class="breadcrumb-item active">(Dashboard)</li>
</ol>
</nav>
</div>
</div>
</div>
</header>
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<h2>Classes</h2>
</div>
</div>
<div class="row">
<div class="col-md-6">
<h3>Coverage Distribution</h3>
<div id="classCoverageDistribution" style="height: 300px;">
<svg></svg>
</div>
</div>
<div class="col-md-6">
<h3>Complexity</h3>
<div id="classComplexity" style="height: 300px;">
<svg></svg>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<h3>Insufficient Coverage</h3>
<div class="scrollbox">
<table class="table">
<thead>
<tr>
<th>Class</th>
<th class="text-right">Coverage</th>
</tr>
</thead>
<tbody>
<tr><td><a href="Helper.php.html#15">App\Lib\Helper</a></td><td class="text-right">5%</td></tr>
</tbody>
</table>
</div>
</div>
<div class="col-md-6">
<h3>Project Risks</h3>
<div class="scrollbox">
<table class="table">
<thead>
<tr>
<th>Class</th>
<th class="text-right"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></th>
</tr>
</thead>
<tbody>
<tr><td><a href="Helper.php.html#15">App\Lib\Helper</a></td><td class="text-right">509</td></tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<h2>Methods</h2>
</div>
</div>
<div class="row">
<div class="col-md-6">
<h3>Coverage Distribution</h3>
<div id="methodCoverageDistribution" style="height: 300px;">
<svg></svg>
</div>
</div>
<div class="col-md-6">
<h3>Complexity</h3>
<div id="methodComplexity" style="height: 300px;">
<svg></svg>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<h3>Insufficient Coverage</h3>
<div class="scrollbox">
<table class="table">
<thead>
<tr>
<th>Method</th>
<th class="text-right">Coverage</th>
</tr>
</thead>
<tbody>
<tr><td><a href="Helper.php.html#30"><abbr title="App\Lib\Helper::isRequestForApiV2">isRequestForApiV2</abbr></a></td><td class="text-right">0%</td></tr>
<tr><td><a href="Helper.php.html#44"><abbr title="App\Lib\Helper::isRequestForApiV1">isRequestForApiV1</abbr></a></td><td class="text-right">0%</td></tr>
<tr><td><a href="Helper.php.html#58"><abbr title="App\Lib\Helper::getRouteName">getRouteName</abbr></a></td><td class="text-right">0%</td></tr>
<tr><td><a href="Helper.php.html#69"><abbr title="App\Lib\Helper::getBearerTokenFromRequest">getBearerTokenFromRequest</abbr></a></td><td class="text-right">0%</td></tr>
<tr><td><a href="Helper.php.html#90"><abbr title="App\Lib\Helper::getRoutePrefix">getRoutePrefix</abbr></a></td><td class="text-right">0%</td></tr>
<tr><td><a href="Helper.php.html#102"><abbr title="App\Lib\Helper::getRoute">getRoute</abbr></a></td><td class="text-right">0%</td></tr>
<tr><td><a href="Helper.php.html#130"><abbr title="App\Lib\Helper::signRequest">signRequest</abbr></a></td><td class="text-right">0%</td></tr>
</tbody>
</table>
</div>
</div>
<div class="col-md-6">
<h3>Project Risks</h3>
<div class="scrollbox">
<table class="table">
<thead>
<tr>
<th>Method</th>
<th class="text-right"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></th>
</tr>
</thead>
<tbody>
<tr><td><a href="Helper.php.html#130"><abbr title="App\Lib\Helper::signRequest">signRequest</abbr></a></td><td class="text-right">56</td></tr>
<tr><td><a href="Helper.php.html#69"><abbr title="App\Lib\Helper::getBearerTokenFromRequest">getBearerTokenFromRequest</abbr></a></td><td class="text-right">20</td></tr>
<tr><td><a href="Helper.php.html#44"><abbr title="App\Lib\Helper::isRequestForApiV1">isRequestForApiV1</abbr></a></td><td class="text-right">12</td></tr>
<tr><td><a href="Helper.php.html#90"><abbr title="App\Lib\Helper::getRoutePrefix">getRoutePrefix</abbr></a></td><td class="text-right">12</td></tr>
<tr><td><a href="Helper.php.html#30"><abbr title="App\Lib\Helper::isRequestForApiV2">isRequestForApiV2</abbr></a></td><td class="text-right">6</td></tr>
<tr><td><a href="Helper.php.html#58"><abbr title="App\Lib\Helper::getRouteName">getRouteName</abbr></a></td><td class="text-right">6</td></tr>
</tbody>
</table>
</div>
</div>
</div>
<footer>
<hr/>
<p>
<small>Generated by <a href="https://github.com/sebastianbergmann/php-code-coverage" target="_top">php-code-coverage 9.2.16</a> using <a href="https://secure.php.net/" target="_top">PHP 7.3.33</a> and <a href="https://phpunit.de/">PHPUnit 9.5.23</a> at Tue Jun 20 11:23:01 CEST 2023.</small>
</p>
</footer>
</div>
<script src="../_js/jquery.min.js" type="text/javascript"></script>
<script src="../_js/d3.min.js" type="text/javascript"></script>
<script src="../_js/nv.d3.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
nv.addGraph(function() {
var chart = nv.models.multiBarChart();
chart.tooltips(false)
.showControls(false)
.showLegend(false)
.reduceXTicks(false)
.staggerLabels(true)
.yAxis.tickFormat(d3.format('d'));
d3.select('#classCoverageDistribution svg')
.datum(getCoverageDistributionData([0,1,0,0,0,0,0,0,0,0,0,1], "Class Coverage"))
.transition().duration(500).call(chart);
nv.utils.windowResize(chart.update);
return chart;
});
nv.addGraph(function() {
var chart = nv.models.multiBarChart();
chart.tooltips(false)
.showControls(false)
.showLegend(false)
.reduceXTicks(false)
.staggerLabels(true)
.yAxis.tickFormat(d3.format('d'));
d3.select('#methodCoverageDistribution svg')
.datum(getCoverageDistributionData([7,0,0,0,0,0,0,0,0,0,0,5], "Method Coverage"))
.transition().duration(500).call(chart);
nv.utils.windowResize(chart.update);
return chart;
});
function getCoverageDistributionData(data, label) {
var labels = [
'0%',
'0-10%',
'10-20%',
'20-30%',
'30-40%',
'40-50%',
'50-60%',
'60-70%',
'70-80%',
'80-90%',
'90-100%',
'100%'
];
var values = [];
$.each(labels, function(key) {
values.push({x: labels[key], y: data[key]});
});
return [
{
key: label,
values: values,
color: "#4572A7"
}
];
}
nv.addGraph(function() {
var chart = nv.models.scatterChart()
.showDistX(true)
.showDistY(true)
.showLegend(false)
.forceX([0, 100]);
chart.tooltipContent(function(graph) {
return '<p>' + graph.point.class + '</p>';
});
chart.xAxis.axisLabel('Code Coverage (in percent)');
chart.yAxis.axisLabel('Cyclomatic Complexity');
d3.select('#classComplexity svg')
.datum(getComplexityData([[5.5555555555555554,24,"<a href=\"Helper.php.html#15\">App\\Lib\\Helper<\/a>"],[100,19,"<a href=\"MigrateOldData.php.html#22\">App\\Lib\\MigrateOldData<\/a>"]], 'Class Complexity'))
.transition()
.duration(500)
.call(chart);
nv.utils.windowResize(chart.update);
return chart;
});
nv.addGraph(function() {
var chart = nv.models.scatterChart()
.showDistX(true)
.showDistY(true)
.showLegend(false)
.forceX([0, 100]);
chart.tooltipContent(function(graph) {
return '<p>' + graph.point.class + '</p>';
});
chart.xAxis.axisLabel('Code Coverage (in percent)');
chart.yAxis.axisLabel('Method Complexity');
d3.select('#methodComplexity svg')
.datum(getComplexityData([[0,2,"<a href=\"Helper.php.html#30\">App\\Lib\\Helper::isRequestForApiV2<\/a>"],[0,3,"<a href=\"Helper.php.html#44\">App\\Lib\\Helper::isRequestForApiV1<\/a>"],[0,2,"<a href=\"Helper.php.html#58\">App\\Lib\\Helper::getRouteName<\/a>"],[0,4,"<a href=\"Helper.php.html#69\">App\\Lib\\Helper::getBearerTokenFromRequest<\/a>"],[0,3,"<a href=\"Helper.php.html#90\">App\\Lib\\Helper::getRoutePrefix<\/a>"],[0,1,"<a href=\"Helper.php.html#102\">App\\Lib\\Helper::getRoute<\/a>"],[100,2,"<a href=\"Helper.php.html#112\">App\\Lib\\Helper::getPackageInfo<\/a>"],[0,7,"<a href=\"Helper.php.html#130\">App\\Lib\\Helper::signRequest<\/a>"],[100,1,"<a href=\"MigrateOldData.php.html#34\">App\\Lib\\MigrateOldData::runMigration<\/a>"],[100,15,"<a href=\"MigrateOldData.php.html#48\">App\\Lib\\MigrateOldData::instruct<\/a>"],[100,1,"<a href=\"MigrateOldData.php.html#226\">App\\Lib\\MigrateOldData::initFile<\/a>"],[100,2,"<a href=\"MigrateOldData.php.html#237\">App\\Lib\\MigrateOldData::write<\/a>"]], 'Method Complexity'))
.transition()
.duration(500)
.call(chart);
nv.utils.windowResize(chart.update);
return chart;
});
function getComplexityData(data, label) {
var values = [];
$.each(data, function(key) {
var value = Math.round(data[key][0]*100) / 100;
values.push({
x: value,
y: data[key][1],
class: data[key][2],
size: 0.05,
shape: 'diamond'
});
});
return [
{
key: label,
values: values,
color: "#4572A7"
}
];
}
});
</script>
</body>
</html>