oauth2-server/master/Grant/dashboard.html

290 lines
9.2 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Dashboard for /home/travis/build/thephpleague/oauth2-server/src/Grant</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="../css/bootstrap.min.css" rel="stylesheet">
<link href="../css/nv.d3.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
<!--[if lt IE 9]>
<script src="../js/html5shiv.min.js"></script>
<script src="../js/respond.min.js"></script>
<![endif]-->
</head>
<body>
<header>
<div class="container">
<div class="row">
<div class="col-md-12">
<ol class="breadcrumb">
<li><a href="../index.html">/home/travis/build/thephpleague/oauth2-server/src</a></li>
<li><a href="index.html">Grant</a></li>
<li class="active">(Dashboard)</li>
</ol>
</div>
</div>
</div>
</header>
<div class="container">
<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>
</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>
</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>
</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>
</tbody>
</table>
</div>
</div>
</div>
<footer>
<hr/>
<p>
<small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 2.0.15</a> using <a href="http://php.net/" target="_top">PHP 5.6.5</a> and <a href="http://phpunit.de/">PHPUnit 4.3.5</a> at Sun Feb 22 19:51:25 UTC 2015.</small>
</p>
</footer>
</div>
<script src="../js/jquery.min.js" type="text/javascript"></script>
<script src="../js/bootstrap.min.js" type="text/javascript"></script>
<script src="../js/holder.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,0,0,0,0,0,0,0,0,0,0,5], "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([0,0,0,0,0,0,0,0,0,0,0,21], "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.scatter.onlyCircles(false);
chart.tooltipContent(function(key, y, e, 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([[100,21,"<a href=\"AbstractGrant.php.html#22\">AbstractGrant<\/a>"],[100,25,"<a href=\"AuthCodeGrant.php.html#26\">AuthCodeGrant<\/a>"],[100,6,"<a href=\"ClientCredentialsGrant.php.html#24\">ClientCredentialsGrant<\/a>"],[100,15,"<a href=\"PasswordGrant.php.html#25\">PasswordGrant<\/a>"],[100,16,"<a href=\"RefreshTokenGrant.php.html#24\">RefreshTokenGrant<\/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.scatter.onlyCircles(false);
chart.tooltipContent(function(key, y, e, 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([[100,1,"<a href=\"AbstractGrant.php.html#62\">AbstractGrant::getIdentifier<\/a>"],[100,1,"<a href=\"AbstractGrant.php.html#70\">AbstractGrant::setIdentifier<\/a>"],[100,1,"<a href=\"AbstractGrant.php.html#80\">AbstractGrant::getResponseType<\/a>"],[100,2,"<a href=\"AbstractGrant.php.html#90\">AbstractGrant::getAccessTokenTTL<\/a>"],[100,1,"<a href=\"AbstractGrant.php.html#106\">AbstractGrant::setAccessTokenTTL<\/a>"],[100,1,"<a href=\"AbstractGrant.php.html#116\">AbstractGrant::setAuthorizationServer<\/a>"],[100,11,"<a href=\"AbstractGrant.php.html#135\">AbstractGrant::validateScopes<\/a>"],[100,3,"<a href=\"AbstractGrant.php.html#186\">AbstractGrant::formatScopes<\/a>"],[100,1,"<a href=\"AuthCodeGrant.php.html#70\">AuthCodeGrant::setAuthTokenTTL<\/a>"],[100,8,"<a href=\"AuthCodeGrant.php.html#82\">AuthCodeGrant::checkAuthorizeParams<\/a>"],[100,2,"<a href=\"AuthCodeGrant.php.html#145\">AuthCodeGrant::newAuthorizeRequest<\/a>"],[100,14,"<a href=\"AuthCodeGrant.php.html#176\">AuthCodeGrant::completeFlow<\/a>"],[100,6,"<a href=\"ClientCredentialsGrant.php.html#61\">ClientCredentialsGrant::completeFlow<\/a>"],[100,1,"<a href=\"PasswordGrant.php.html#62\">PasswordGrant::setVerifyCredentialsCallback<\/a>"],[100,3,"<a href=\"PasswordGrant.php.html#74\">PasswordGrant::getVerifyCredentialsCallback<\/a>"],[100,11,"<a href=\"PasswordGrant.php.html#90\">PasswordGrant::completeFlow<\/a>"],[100,1,"<a href=\"RefreshTokenGrant.php.html#52\">RefreshTokenGrant::setRefreshTokenTTL<\/a>"],[100,1,"<a href=\"RefreshTokenGrant.php.html#62\">RefreshTokenGrant::getRefreshTokenTTL<\/a>"],[100,1,"<a href=\"RefreshTokenGrant.php.html#71\">RefreshTokenGrant::setRefreshTokenRotation<\/a>"],[100,1,"<a href=\"RefreshTokenGrant.php.html#81\">RefreshTokenGrant::shouldRotateRefreshTokens<\/a>"],[100,12,"<a href=\"RefreshTokenGrant.php.html#89\">RefreshTokenGrant::completeFlow<\/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>