[MediaWiki-commits] [Gerrit] mediawiki...ProofreadPage[master]: Introduces constants for Page: pages quality levels

2017-11-18 Thread jenkins-bot (Code Review)
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

2017-11-18 Thread Tpt (Code Review)
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