jenkins-bot has submitted this change and it was merged.

Change subject: Fix ClaimDifference::equals implementation
......................................................................


Fix ClaimDifference::equals implementation

The two added ->getArrayCopy() are the relevant change here. Everything
else is just a little bit of clean up. I can split that to an other patch,
if you like. Just tell me.

Bug: T92487
Change-Id: I0a18cf832968c979b29da0f00d37267273b4635b
---
M repo/includes/Diff/ClaimDifference.php
M repo/tests/phpunit/includes/Diff/ClaimDifferTest.php
2 files changed, 16 insertions(+), 25 deletions(-)

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



diff --git a/repo/includes/Diff/ClaimDifference.php 
b/repo/includes/Diff/ClaimDifference.php
index 6602702..ee25dd4 100644
--- a/repo/includes/Diff/ClaimDifference.php
+++ b/repo/includes/Diff/ClaimDifference.php
@@ -44,9 +44,12 @@
         * @param Diff|null $referenceChanges
         * @param DiffOpChange|null $rankChange
         */
-       public function __construct( DiffOpChange $mainSnakChange = null, Diff 
$qualifierChanges = null,
-                                                                Diff 
$referenceChanges = null, DiffOpChange $rankChange = null ) {
-
+       public function __construct(
+               DiffOpChange $mainSnakChange = null,
+               Diff $qualifierChanges = null,
+               Diff $referenceChanges = null,
+               DiffOpChange $rankChange = null
+       ) {
                $this->referenceChanges = $referenceChanges;
                $this->mainSnakChange = $mainSnakChange;
                $this->rankChange = $rankChange;
@@ -61,7 +64,7 @@
         * @return Diff
         */
        public function getReferenceChanges() {
-               return $this->referenceChanges === null ? new Diff( array(), 
false ) : $this->referenceChanges;
+               return $this->referenceChanges ?: new Diff( array(), false );
        }
 
        /**
@@ -94,7 +97,7 @@
         * @return Diff
         */
        public function getQualifierChanges() {
-               return $this->qualifierChanges === null ? new Diff( array(), 
false ) : $this->qualifierChanges;
+               return $this->qualifierChanges ?: new Diff( array(), false );
        }
 
        /**
@@ -104,7 +107,7 @@
         *
         * @param mixed $target
         *
-        * @return boolean
+        * @return bool
         */
        public function equals( $target ) {
                if ( $target === $this ) {
@@ -115,10 +118,11 @@
                        return false;
                }
 
-               return $this->getMainSnakChange() == 
$target->getMainSnakChange()
-                       && $this->getRankChange() == $target->getRankChange()
-                       && $this->getQualifierChanges() == 
$target->getQualifierChanges()
-                       && $this->getReferenceChanges() == 
$target->getReferenceChanges();
+               return $this->mainSnakChange == $target->mainSnakChange
+                       && $this->rankChange == $target->rankChange
+                       // FIXME: Use Diff::equals when released.
+                       && $this->getQualifierChanges()->getArrayCopy() == 
$target->getQualifierChanges()->getArrayCopy()
+                       && $this->getReferenceChanges()->getArrayCopy() == 
$target->getReferenceChanges()->getArrayCopy();
        }
 
        /**
@@ -127,7 +131,7 @@
         *
         * @since 0.4
         *
-        * @return boolean
+        * @return bool
         */
        public function isAtomic() {
                $claimChanges = 0;
diff --git a/repo/tests/phpunit/includes/Diff/ClaimDifferTest.php 
b/repo/tests/phpunit/includes/Diff/ClaimDifferTest.php
index 4c60563..01c689f 100644
--- a/repo/tests/phpunit/includes/Diff/ClaimDifferTest.php
+++ b/repo/tests/phpunit/includes/Diff/ClaimDifferTest.php
@@ -111,25 +111,12 @@
 
        /**
         * @dataProvider diffClaimsProvider
-        *
-        * @param Claim $oldClaim
-        * @param Claim $newClaim
-        * @param ClaimDifference $expected
         */
        public function testDiffClaims( Claim $oldClaim, Claim $newClaim, 
ClaimDifference $expected ) {
                $differ = new ClaimDiffer( new OrderedListDiffer( new 
ComparableComparer() ) );
                $actual = $differ->diffClaims( $oldClaim, $newClaim );
 
-               $this->assertInstanceOf( 'Wikibase\Repo\Diff\ClaimDifference', 
$actual );
-
-               if ( !$expected->equals( $actual ) ) {
-                       $this->assertEquals($expected, $actual);
-               }
-
-               $this->assertTrue(
-                       $expected->equals( $actual ),
-                       'Diffing the claims results in the correct 
ClaimDifference'
-               );
+               $this->assertTrue( $expected->equals( $actual ) );
        }
 
 }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I0a18cf832968c979b29da0f00d37267273b4635b
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Thiemo Mättig (WMDE) <thiemo.maet...@wikimedia.de>
Gerrit-Reviewer: JanZerebecki <jan.wikime...@zerebecki.de>
Gerrit-Reviewer: Jeroen De Dauw <jeroended...@gmail.com>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to