Mailing List Archive

[MediaWiki-commits] [Gerrit] integration/docroot[master]: cover: Add sort=cover parameter to coverage report
Krinkle has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/405996 )

Change subject: cover: Add sort=cover parameter to coverage report
......................................................................

cover: Add sort=cover parameter to coverage report

When enabled, the sorting changes from alphabetical by name, to be
ascending by coverage percentage. This helps identify projects with
low code coverage, and as potential area to contribute.

Change-Id: I4ff4bb7191ad8579427cf74fd865fe23b85b234d
---
M shared/CoveragePage.php
1 file changed, 32 insertions(+), 1 deletion(-)


git pull ssh://gerrit.wikimedia.org:29418/integration/docroot refs/changes/96/405996/1

diff --git a/shared/CoveragePage.php b/shared/CoveragePage.php
index 9418a7e..389c7a6 100644
--- a/shared/CoveragePage.php
+++ b/shared/CoveragePage.php
@@ -47,6 +47,8 @@
$results = glob( $this->coverageDir . '/*/clover.xml' );
$this->embedCSS( file_get_contents( __DIR__ . '/cover.css' ) );

+ $sort = isset( $_GET['sort'] ) ? (string)$_GET['sort'] : null;
+
if ( $this->pageName === 'Test coverage' ) {
$href = $this->fixNavUrl( '/cover-extensions/' );
$breadcrumbs = <<<HTML
@@ -80,10 +82,39 @@
HTML;
$this->addHtmlContent( $intro );

+ if ( $sort === 'cov' ) {
+ $sortNav = <<<HTML
+<div class="btn-group">
+ <a class="btn btn-default" href="./">Sort by name</a>
+ <button type="button" class="btn btn-default active">Sort by coverage percentage</button>
+</div>
+HTML;
+ } else {
+ $sortNav = <<<HTML
+<div class="btn-group">
+ <button type="button" class="btn btn-default active">Sort by name</button>
+ <a class="btn btn-default" href="./?sort=cov">Sort by coverage percentage</a>
+</div>
+HTML;
+ }
+
+ $this->addHtmlContent( $sortNav );
$this->addHtmlContent( '<ul class="nav nav-pills nav-stacked cover-list">' );
$html = '';
+ $clovers = [];
foreach ( $results as $clover ) {
- $info = $this->parseClover( $clover );
+ $clovers[$clover] = $this->parseClover( $clover );
+ }
+ if ( isset( $_GET['sort'] ) && $_GET['sort'] === 'cov' ) {
+ // Order by coverage, ascending
+ uasort( $clovers, function ( $a, $b ) {
+ if ( $a['percent'] === $b['percent'] ) {
+ return 0;
+ }
+ return ( $a['percent'] < $b['percent'] ) ? -1 : 1;
+ } );
+ }
+ foreach ( $clovers as $clover => $info ) {
$dirName = htmlspecialchars( basename( dirname( $clover ) ) );
$percent = (string)round( $info['percent'] );
$color = $this->getLevelColor( $info['percent'] );

--
To view, visit https://gerrit.wikimedia.org/r/405996
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4ff4bb7191ad8579427cf74fd865fe23b85b234d
Gerrit-PatchSet: 1
Gerrit-Project: integration/docroot
Gerrit-Branch: master
Gerrit-Owner: Krinkle <krinklemail@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] integration/docroot[master]: cover: Add sort=cover parameter to coverage report [ In reply to ]
jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/405996 )

Change subject: cover: Add sort=cover parameter to coverage report
......................................................................


cover: Add sort=cover parameter to coverage report

When enabled, the sorting changes from alphabetical by name, to be
ascending by coverage percentage. This helps identify projects with
low code coverage, and as potential area to contribute.

Change-Id: I4ff4bb7191ad8579427cf74fd865fe23b85b234d
---
M .phpcs.xml
M shared/CoveragePage.php
2 files changed, 33 insertions(+), 1 deletion(-)

Approvals:
Krinkle: Looks good to me, approved
jenkins-bot: Verified



diff --git a/.phpcs.xml b/.phpcs.xml
index 311ca42..44a6bd0 100644
--- a/.phpcs.xml
+++ b/.phpcs.xml
@@ -11,6 +11,7 @@
<exclude name="MediaWiki.Commenting.FunctionComment.MissingParamTag" />
<exclude name="MediaWiki.Commenting.FunctionComment.MissingReturn" />
<exclude name="MediaWiki.Files.ClassMatchesFilename.NotMatch" />
+ <exclude name="MediaWiki.Usage.SuperGlobalsUsage.SuperGlobals" />
<exclude name="Squiz.WhiteSpace.ScopeClosingBrace.ContentBefore" />
</rule>
<file>.</file>
diff --git a/shared/CoveragePage.php b/shared/CoveragePage.php
index 8bb60e5..5314f43 100644
--- a/shared/CoveragePage.php
+++ b/shared/CoveragePage.php
@@ -47,6 +47,8 @@
$results = glob( $this->coverageDir . '/*/clover.xml' );
$this->embedCSS( file_get_contents( __DIR__ . '/cover.css' ) );

+ $sort = isset( $_GET['sort'] ) ? (string)$_GET['sort'] : null;
+
if ( $this->pageName === 'Test coverage' ) {
$href = $this->fixNavUrl( '/cover-extensions/' );
$breadcrumbs = <<<HTML
@@ -80,10 +82,39 @@
HTML;
$this->addHtmlContent( $intro );

+ if ( $sort === 'cov' ) {
+ $sortNav = <<<HTML
+<div class="btn-group btn-group-sm">
+ <a class="btn btn-default" href="./">Sort by name</a>
+ <button type="button" class="btn btn-default active">Sort by coverage percentage</button>
+</div>
+HTML;
+ } else {
+ $sortNav = <<<HTML
+<div class="btn-group btn-group-sm">
+ <button type="button" class="btn btn-default active">Sort by name</button>
+ <a class="btn btn-default" href="./?sort=cov">Sort by coverage percentage</a>
+</div>
+HTML;
+ }
+
+ $this->addHtmlContent( $sortNav );
$this->addHtmlContent( '<ul class="nav nav-pills nav-stacked cover-list">' );
$html = '';
+ $clovers = [];
foreach ( $results as $clover ) {
- $info = $this->parseClover( $clover );
+ $clovers[$clover] = $this->parseClover( $clover );
+ }
+ if ( isset( $_GET['sort'] ) && $_GET['sort'] === 'cov' ) {
+ // Order by coverage, ascending
+ uasort( $clovers, function ( $a, $b ) {
+ if ( $a['percent'] === $b['percent'] ) {
+ return 0;
+ }
+ return ( $a['percent'] < $b['percent'] ) ? -1 : 1;
+ } );
+ }
+ foreach ( $clovers as $clover => $info ) {
$dirName = htmlspecialchars( basename( dirname( $clover ) ) );
$percent = (string)round( $info['percent'] );
$color = $this->getLevelColor( $info['percent'] );

--
To view, visit https://gerrit.wikimedia.org/r/405996
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I4ff4bb7191ad8579427cf74fd865fe23b85b234d
Gerrit-PatchSet: 4
Gerrit-Project: integration/docroot
Gerrit-Branch: master
Gerrit-Owner: Krinkle <krinklemail@gmail.com>
Gerrit-Reviewer: Hashar <hashar@free.fr>
Gerrit-Reviewer: Krinkle <krinklemail@gmail.com>
Gerrit-Reviewer: Legoktm <legoktm@member.fsf.org>
Gerrit-Reviewer: Paladox <thomasmulhall410@yahoo.com>
Gerrit-Reviewer: Reedy <reedy@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits