<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Dashboard for /home/users/tracer/www/spookie.lab.24unix.net/Spookie/src/Security</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">/home/users/tracer/www/spookie.lab.24unix.net/Spookie/src</a></li> <li class="breadcrumb-item"><a href="index.html">Security</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="LoginFormAuthenticator.php.html#26">App\Security\LoginFormAuthenticator</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>Class</th> <th class="text-right"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></th> </tr> </thead> <tbody> <tr><td><a href="LoginFormAuthenticator.php.html#26">App\Security\LoginFormAuthenticator</a></td><td class="text-right">56</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="LoginFormAuthenticator.php.html#30"><abbr title="App\Security\LoginFormAuthenticator::__construct">__construct</abbr></a></td><td class="text-right">0%</td></tr> <tr><td><a href="LoginFormAuthenticator.php.html#35"><abbr title="App\Security\LoginFormAuthenticator::authenticate">authenticate</abbr></a></td><td class="text-right">0%</td></tr> <tr><td><a href="LoginFormAuthenticator.php.html#66"><abbr title="App\Security\LoginFormAuthenticator::onAuthenticationSuccess">onAuthenticationSuccess</abbr></a></td><td class="text-right">0%</td></tr> <tr><td><a href="LoginFormAuthenticator.php.html#77"><abbr title="App\Security\LoginFormAuthenticator::getLoginUrl">getLoginUrl</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="LoginFormAuthenticator.php.html#35"><abbr title="App\Security\LoginFormAuthenticator::authenticate">authenticate</abbr></a></td><td class="text-right">12</td></tr> <tr><td><a href="LoginFormAuthenticator.php.html#66"><abbr title="App\Security\LoginFormAuthenticator::onAuthenticationSuccess">onAuthenticationSuccess</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.22</a> using <a href="https://secure.php.net/" target="_top">PHP 8.1.12</a> and <a href="https://phpunit.de/">PHPUnit 9.5.27</a> at Tue Dec 27 18:06:38 CET 2022.</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([1,0,0,0,0,0,0,0,0,0,0,0], "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([4,0,0,0,0,0,0,0,0,0,0,0], "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([[0,7,"<a href=\"LoginFormAuthenticator.php.html#26\">App\\Security\\LoginFormAuthenticator<\/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,1,"<a href=\"LoginFormAuthenticator.php.html#30\">App\\Security\\LoginFormAuthenticator::__construct<\/a>"],[0,3,"<a href=\"LoginFormAuthenticator.php.html#35\">App\\Security\\LoginFormAuthenticator::authenticate<\/a>"],[0,2,"<a href=\"LoginFormAuthenticator.php.html#66\">App\\Security\\LoginFormAuthenticator::onAuthenticationSuccess<\/a>"],[0,1,"<a href=\"LoginFormAuthenticator.php.html#77\">App\\Security\\LoginFormAuthenticator::getLoginUrl<\/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>