2014-12-11 19:57:41 +05:30
<!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 >
2015-03-20 17:19:01 +05:30
< 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 Fri Mar 20 11:48:47 UTC 2015.< / small >
2014-12-11 19:57:41 +05:30
< / 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')
2015-03-20 17:16:46 +05:30
.datum(getCoverageDistributionData([0,0,0,0,0,0,0,0,0,0,0,5], "Class Coverage"))
2014-12-11 19:57:41 +05:30
.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')
2015-03-20 17:16:46 +05:30
.datum(getCoverageDistributionData([0,0,0,0,0,0,0,0,0,0,0,21], "Method Coverage"))
2014-12-11 19:57:41 +05:30
.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')
2015-03-20 17:16:46 +05:30
.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'))
2014-12-11 19:57:41 +05:30
.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')
2015-03-20 17:16:46 +05:30
.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#177\" > 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'))
2014-12-11 19:57:41 +05:30
.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 >