[MediaWiki-commits] [Gerrit] mediawiki...ProofreadPage[master]: Introduces constants for Page: pages quality levels
jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/392213 ) Change subject: Introduces constants for Page: pages quality levels .. Introduces constants for Page: pages quality levels Change-Id: I3a971f0b6ecf95485dbc98c1ece861c18e24a860 --- M includes/page/PageLevel.php M tests/phpunit/page/PageContentTest.php M tests/phpunit/page/PageLevelTest.php 3 files changed, 69 insertions(+), 47 deletions(-) Approvals: jenkins-bot: Verified Tpt: Looks good to me, approved diff --git a/includes/page/PageLevel.php b/includes/page/PageLevel.php index 39951ea..da72342 100644 --- a/includes/page/PageLevel.php +++ b/includes/page/PageLevel.php @@ -12,10 +12,16 @@ */ class PageLevel { + const WITHOUT_TEXT = 0; + const NOT_PROOFREAD = 1; + const PROBLEMATIC = 2; + const PROOFREAD = 3; + const VALIDATED = 4; + /** * @var integer proofreading level of the page */ - protected $level = 1; + protected $level = self::NOT_PROOFREAD; /** * @var User|null last user of the page @@ -27,7 +33,7 @@ * @param int $level * @param User|null $user */ - public function __construct( $level = 1, User $user = null ) { + public function __construct( $level = self::NOT_PROOFREAD, User $user = null ) { $this->level = $level; $this->user = $user; } @@ -54,7 +60,7 @@ * @return bool */ public function isValid() { - return is_integer( $this->level ) && 0 <= $this->level && $this->level <= 4; + return is_int( $this->level ) && 0 <= $this->level && $this->level <= 4; } /** @@ -68,11 +74,14 @@ return false; } - return - $this->level === $that->getLevel() && - ( $this->user === null && $that->getUser() === null || - $this->user instanceof User && $that->getUser() instanceof User && - $this->user->getName() === $that->getUser()->getName() ); + return $this->level === $that->getLevel() && + ( + ( $this->user === null && $that->getUser() === null ) || + ( + ( $this->user instanceof User && $that->getUser() instanceof User ) && + ( $this->user->getName() === $that->getUser()->getName() ) + ) + ); } /** @@ -89,14 +98,17 @@ } $fromUser = ( $this->user instanceof User ) ? $this->user : $to->getUser(); - if ( $to->getLevel() === 4 && ( $this->level < 3 || $this->level === 3 && - $fromUser->getName() === $to->getUser()->getName() ) && + return !( + $to->getLevel() === self::VALIDATED && + ( + $this->level < self::PROOFREAD || + ( + $this->level === self::PROOFREAD && + $fromUser !== null && $fromUser->getName() === $to->getUser()->getName() + ) + ) && !$to->getUser()->isAllowed( 'pagequality-admin' ) - ) { - return false; - } - - return true; + ); } /** diff --git a/tests/phpunit/page/PageContentTest.php b/tests/phpunit/page/PageContentTest.php index 7f18235..67b0e9f 100644 --- a/tests/phpunit/page/PageContentTest.php +++ b/tests/phpunit/page/PageContentTest.php @@ -239,7 +239,7 @@ ], [ Status::newFatal( 'proofreadpage_notallowedtext' ), - self::newContent( '', '', '', 4 ) + self::newContent( '', '', '', PageLevel::VALIDATED ) ] ]; } diff --git a/tests/phpunit/page/PageLevelTest.php b/tests/phpunit/page/PageLevelTest.php index 1105909..dc1e471 100644 --- a/tests/phpunit/page/PageLevelTest.php +++ b/tests/phpunit/page/PageLevelTest.php @@ -7,7 +7,7 @@ /** * @group ProofreadPage - * @covers ProofreadPageLevel + * @covers PageLevel */ class PageLevelTest extends ProofreadPageTestCase { @@ -78,53 +78,63 @@ return [ [ - new PageLevel( 1, $testUser ), - new PageLevel( 2, $ipUser ), + new PageLevel( PageLevel::NOT_PROOFREAD, $testUser ), +
[MediaWiki-commits] [Gerrit] mediawiki...ProofreadPage[master]: Introduces constants for Page: pages quality levels
Tpt has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/392213 ) Change subject: Introduces constants for Page: pages quality levels .. Introduces constants for Page: pages quality levels Change-Id: I3a971f0b6ecf95485dbc98c1ece861c18e24a860 --- M includes/page/PageLevel.php M tests/phpunit/page/PageContentTest.php M tests/phpunit/page/PageLevelTest.php 3 files changed, 69 insertions(+), 47 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/ProofreadPage refs/changes/13/392213/1 diff --git a/includes/page/PageLevel.php b/includes/page/PageLevel.php index 39951ea..da72342 100644 --- a/includes/page/PageLevel.php +++ b/includes/page/PageLevel.php @@ -12,10 +12,16 @@ */ class PageLevel { + const WITHOUT_TEXT = 0; + const NOT_PROOFREAD = 1; + const PROBLEMATIC = 2; + const PROOFREAD = 3; + const VALIDATED = 4; + /** * @var integer proofreading level of the page */ - protected $level = 1; + protected $level = self::NOT_PROOFREAD; /** * @var User|null last user of the page @@ -27,7 +33,7 @@ * @param int $level * @param User|null $user */ - public function __construct( $level = 1, User $user = null ) { + public function __construct( $level = self::NOT_PROOFREAD, User $user = null ) { $this->level = $level; $this->user = $user; } @@ -54,7 +60,7 @@ * @return bool */ public function isValid() { - return is_integer( $this->level ) && 0 <= $this->level && $this->level <= 4; + return is_int( $this->level ) && 0 <= $this->level && $this->level <= 4; } /** @@ -68,11 +74,14 @@ return false; } - return - $this->level === $that->getLevel() && - ( $this->user === null && $that->getUser() === null || - $this->user instanceof User && $that->getUser() instanceof User && - $this->user->getName() === $that->getUser()->getName() ); + return $this->level === $that->getLevel() && + ( + ( $this->user === null && $that->getUser() === null ) || + ( + ( $this->user instanceof User && $that->getUser() instanceof User ) && + ( $this->user->getName() === $that->getUser()->getName() ) + ) + ); } /** @@ -89,14 +98,17 @@ } $fromUser = ( $this->user instanceof User ) ? $this->user : $to->getUser(); - if ( $to->getLevel() === 4 && ( $this->level < 3 || $this->level === 3 && - $fromUser->getName() === $to->getUser()->getName() ) && + return !( + $to->getLevel() === self::VALIDATED && + ( + $this->level < self::PROOFREAD || + ( + $this->level === self::PROOFREAD && + $fromUser !== null && $fromUser->getName() === $to->getUser()->getName() + ) + ) && !$to->getUser()->isAllowed( 'pagequality-admin' ) - ) { - return false; - } - - return true; + ); } /** diff --git a/tests/phpunit/page/PageContentTest.php b/tests/phpunit/page/PageContentTest.php index 7f18235..67b0e9f 100644 --- a/tests/phpunit/page/PageContentTest.php +++ b/tests/phpunit/page/PageContentTest.php @@ -239,7 +239,7 @@ ], [ Status::newFatal( 'proofreadpage_notallowedtext' ), - self::newContent( '', '', '', 4 ) + self::newContent( '', '', '', PageLevel::VALIDATED ) ] ]; } diff --git a/tests/phpunit/page/PageLevelTest.php b/tests/phpunit/page/PageLevelTest.php index 1105909..dc1e471 100644 --- a/tests/phpunit/page/PageLevelTest.php +++ b/tests/phpunit/page/PageLevelTest.php @@ -7,7 +7,7 @@ /** * @group ProofreadPage - * @covers ProofreadPageLevel + * @covers PageLevel */ class PageLevelTest extends ProofreadPageTestCase { @@ -78,53 +78,63 @@ return [ [ - new PageLevel( 1, $testUser ), - new PageLevel( 2, $ipUser ), + new PageLevel( PageLevel::NOT_PROOFREAD, $testUser ),