WikidataBuilder has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/393365 )

Change subject: New Wikidata Build - 2017-11-25T10:00:01+0000
......................................................................

New Wikidata Build - 2017-11-25T10:00:01+0000

Change-Id: Ic8aabd1877e1882fedff36f9ac03298b2f950c8e
---
M composer.lock
M extensions/Constraints/i18n/es.json
M extensions/Quality/i18n/roa-tara.json
M extensions/Wikibase/client/i18n/az.json
M extensions/Wikibase/client/i18n/roa-tara.json
M extensions/Wikibase/client/i18n/sat.json
M extensions/Wikibase/client/includes/Changes/AffectedPagesFinder.php
M 
extensions/Wikibase/client/tests/phpunit/includes/Changes/AffectedPagesFinderTest.php
M extensions/Wikibase/lib/i18n/ur.json
M extensions/Wikibase/repo/i18n/be-tarask.json
M extensions/Wikibase/repo/i18n/sat.json
M extensions/Wikibase/repo/includes/Content/ItemHandler.php
M extensions/Wikibase/repo/includes/Content/PropertyHandler.php
M 
extensions/Wikibase/repo/tests/phpunit/includes/Actions/HistoryEntityActionTest.php
M extensions/Wikibase/repo/tests/phpunit/includes/Content/EntityHandlerTest.php
M vendor/composer/installed.json
16 files changed, 147 insertions(+), 107 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikidata 
refs/changes/65/393365/1

diff --git a/composer.lock b/composer.lock
index 7a3dba4..f18e964 100644
--- a/composer.lock
+++ b/composer.lock
@@ -855,7 +855,7 @@
             "source": {
                 "type": "git",
                 "url": 
"https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseQualityConstraints";,
-                "reference": "c92db5bdcede9018eaf39821049fd10801cd21b9"
+                "reference": "881e265221b80e6ea20a4baff90e5d53b69ed8a6"
             },
             "require": {
                 "php": ">=5.5.9",
@@ -906,7 +906,7 @@
             "support": {
                 "issues": 
"https://phabricator.wikimedia.org/project/profile/1202/";
             },
-            "time": "2017-11-23 15:31:29"
+            "time": "2017-11-24 22:29:05"
         },
         {
             "name": "wikibase/data-model",
@@ -1166,7 +1166,7 @@
             "source": {
                 "type": "git",
                 "url": 
"https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseQuality";,
-                "reference": "e9b0e8a9f25da82678452a27c2161687d1a23abf"
+                "reference": "c4ffcf0e023827e167adf2483dcabad36888bc13"
             },
             "require": {
                 "php": ">=5.5.9",
@@ -1220,7 +1220,7 @@
             "support": {
                 "issues": 
"https://phabricator.wikimedia.org/project/profile/989/";
             },
-            "time": "2017-11-13 14:54:24"
+            "time": "2017-11-24 22:28:58"
         },
         {
             "name": "wikibase/wikibase",
@@ -1228,7 +1228,7 @@
             "source": {
                 "type": "git",
                 "url": 
"https://gerrit.wikimedia.org/r/mediawiki/extensions/Wikibase";,
-                "reference": "3c5940f36b0b4aa706504387672cc67b663e6b82"
+                "reference": "14bed7070fc07bb9ca6a2cc653d727228029360a"
             },
             "require": {
                 "composer/installers": ">=1.0.1",
@@ -1289,7 +1289,7 @@
                 "issues": "https://phabricator.wikimedia.org/";,
                 "irc": "irc://irc.freenode.net/wikidata"
             },
-            "time": "2017-11-24 09:19:37"
+            "time": "2017-11-24 22:28:34"
         },
         {
             "name": "wikibase/wikimedia-badges",
diff --git a/extensions/Constraints/i18n/es.json 
b/extensions/Constraints/i18n/es.json
index d31db0f..43bb3da 100644
--- a/extensions/Constraints/i18n/es.json
+++ b/extensions/Constraints/i18n/es.json
@@ -29,8 +29,8 @@
        "wbqc-badparameters-short": "Parámetros incorrectos",
        "wbqc-parameterissues-short": "Incidencias avanzadas",
        "wbqc-constrainttypehelp-short": "Ayuda",
-       "wbqc-cached-generic": "Este resultado ha sido cachado y puede ser 
post-datado",
-       "wbqc-cached-minutes": "Este resultado esta bloqueado y puede ser 
post-datado hasta {{PLURAL:$1|1=one minute|$1 minutes}}.",
+       "wbqc-cached-generic": "Este resultado está prealmacenado y puede estar 
desfasado.",
+       "wbqc-cached-minutes": "Este resultado está prealmacenado y puede estar 
desfasado por hasta {{PLURAL:$1|1=un minuto|$1 minutos}}.",
        "wbqc-violation-header-parameters": "Parámetros:",
        "wbqc-violations-group": "Restricciones",
        "wbqc-violation-message": "La verificación de restricciones ha señalado 
una violación. Pulsa el icono para obtener más información.",
diff --git a/extensions/Quality/i18n/roa-tara.json 
b/extensions/Quality/i18n/roa-tara.json
index 42e9414..a4f0849 100644
--- a/extensions/Quality/i18n/roa-tara.json
+++ b/extensions/Quality/i18n/roa-tara.json
@@ -12,5 +12,17 @@
        "wbq-violations-form-select-all": "(tutte)",
        "wbq-violations-exceptions-checkbox-label": "Fà 'ndrucà le eccezziune",
        "wbq-violations-submit-button-label": "Fà 'ndrucà le violazziune",
-       "wbq-violations-mark-as-exception": "Signe cumme eccezzione"
+       "wbq-violations-table-header-entity": "Entità",
+       "wbq-violations-table-header-claim": "Asserzione",
+       "wbq-violations-table-header-constraint-type": "Tipe",
+       "wbq-violations-table-header-updated-at": "Urteme aggiornamende",
+       "wbq-violations-table-header-status": "State",
+       "wbq-violations-table-header-additional-info": "Otre 'mbormazione",
+       "wbq-violations-status-violation": "Violazione",
+       "wbq-violations-status-unverified": "Non verificate",
+       "wbq-violations-status-exception": "Eccezzione",
+       "wbq-violations-mark-as-exception": "Signe cumme eccezzione",
+       "wbq-violations-mark-as-violation": "Signe cumme violazione",
+       "wbq-violations-next-page": "Pàgena successive >>",
+       "wbq-violations-prev-page": "<< Pàgena precedende"
 }
diff --git a/extensions/Wikibase/client/i18n/az.json 
b/extensions/Wikibase/client/i18n/az.json
index 65d93a0..6e07278 100644
--- a/extensions/Wikibase/client/i18n/az.json
+++ b/extensions/Wikibase/client/i18n/az.json
@@ -20,5 +20,6 @@
        "wikibase-rc-wikibase-edit-letter": "D",
        "wikibase-rc-wikibase-edit-title": "{{WBREPONAME}} redaktəsi",
        "wikibase-rcfilters-hide-wikibase-label": "{{WBREPONAME}} redaktələri",
+       "wikibase-pageinfo-entity-id": "Elementin {{WBREPONAME}} 
identifikatoru",
        "wikibase-otherprojects": "Digər layihələr"
 }
diff --git a/extensions/Wikibase/client/i18n/roa-tara.json 
b/extensions/Wikibase/client/i18n/roa-tara.json
index a06f3d6..85a4f99 100644
--- a/extensions/Wikibase/client/i18n/roa-tara.json
+++ b/extensions/Wikibase/client/i18n/roa-tara.json
@@ -6,6 +6,8 @@
        },
        "wikibase-client-desc": "Cliende pe l'estenzione Uicchibase",
        "tooltip-t-wikibase": "Appuende a 'a vôsce de l'archivije date 
collegate",
+       "apihelp-query+wbentityusage-description": "Tuèrne tutte le ID de 
l'entità ausate jndr'à le pàggene indicate.",
+       "apihelp-query+wbentityusage-summary": "Tuèrne tutte le ID de l'entità 
ausate jndr'à le pàggene indicate.",
        "wikibase-comment-update": "Vôsce de {{WBREPONAME}} cangiate",
        "wikibase-comment-sitelink-add": "Collegamende d'a lènghe aggiunde: $1",
        "wikibase-comment-sitelink-change": "Collegamende 'a lènghe cangiate da 
$1 a $2",
@@ -31,9 +33,13 @@
        "wikibase-replicationnote": "Pe piacere te 'mbormame ca ponne passà 
diverse minute fine ca le cangiaminde ponne essere 'ndrucate sus a tutte le 
uicchi",
        "wikibase-watchlist-show-changes-pref": "Fà vedè le cangiaminde de 
{{WBREPONAME}} jndr'à l'elenghe de le pàggene condrollate",
        "wikibase-error-serialize-error": "'A serializzazzione de le date ave 
sciute a male.",
+       "unconnectedpages": "Pàggene none collegate a le eleminde",
        "wikibase-unconnectedpages-submit": "'Ndruche le pàggene",
        "pageswithbadges": "Pàggene cu le badge",
        "wikibase-pageswithbadges-badge": "Badge:",
+       "wikibase-entityusage-entity": "Entità:",
+       "wikibase-entityusage-submit": "'Ndruche le pàggene",
+       "wikibase-pageinfo-entity-id": "ID d'a vôsce de {{WBREPONAME}}",
        "wikibase-pageinfo-entity-id-none": "Ninde",
        "wikibase-otherprojects": "Jndr'à otre pruggette"
 }
diff --git a/extensions/Wikibase/client/i18n/sat.json 
b/extensions/Wikibase/client/i18n/sat.json
index a88cc7b..3cd6927 100644
--- a/extensions/Wikibase/client/i18n/sat.json
+++ b/extensions/Wikibase/client/i18n/sat.json
@@ -6,15 +6,15 @@
                        "Ramjit Tudu"
                ]
        },
-       "tooltip-t-wikibase": "ᱜᱩᱫᱟᱹᱢ ᱚᱲᱟᱜ ᱥᱟᱶᱛᱮᱱ ᱠᱟᱛᱷᱟᱠᱩ ᱡᱳᱱᱳᱲ",
+       "tooltip-t-wikibase": "ᱜᱩᱫᱟᱹᱢ ᱚᱲᱟᱜ ᱥᱟᱶᱛᱮᱱ ᱠᱟᱛᱷᱟᱠᱩ ᱡᱚᱱᱚᱲ",
        "wikibase-comment-update": "{{WBREPONAME}} ᱥᱟᱛᱚᱢ ᱵᱚᱫᱚᱞ ᱦᱩᱭᱠᱟᱱᱟ",
        "wikibase-dataitem": "{{WBREPONAME}} item",
-       "wikibase-editlinks": "Joṛao jut",
-       "wikibase-editlinkstitle": "ᱵᱷᱤᱛᱨᱤ ᱯᱟᱹᱨᱥᱤ ᱡᱳᱱᱳᱲ ᱠᱚ ᱵᱚᱫᱚᱞ",
+       "wikibase-editlinks": "ᱡᱚᱱᱚᱲᱠᱩ ᱥᱟᱯᱲᱟᱣ",
+       "wikibase-editlinkstitle": "ᱵᱷᱤᱛᱨᱤ ᱯᱟᱹᱨᱥᱤ ᱡᱚᱱᱚᱲ ᱠᱚ ᱵᱚᱫᱚᱞ",
        "wikibase-rc-hide-wikidata": "$1 {{WBREPONAME}}",
        "wikibase-rc-hide-wikidata-hide": "Danaṅ",
        "wikibase-rc-hide-wikidata-show": "Uduḱme",
        "wikibase-rc-wikibase-edit-letter": "Ḍ",
        "wikibase-rc-wikibase-edit-title": "Toṅge",
-       "wikibase-otherprojects": "eṭaḱ porjeṭko"
+       "wikibase-otherprojects": "ᱮᱴᱟᱜ ᱯᱨᱚᱡᱮᱠᱴ ᱠᱚᱨᱮ"
 }
diff --git 
a/extensions/Wikibase/client/includes/Changes/AffectedPagesFinder.php 
b/extensions/Wikibase/client/includes/Changes/AffectedPagesFinder.php
index 91d2440..99632b5 100644
--- a/extensions/Wikibase/client/includes/Changes/AffectedPagesFinder.php
+++ b/extensions/Wikibase/client/includes/Changes/AffectedPagesFinder.php
@@ -3,11 +3,6 @@
 namespace Wikibase\Client\Changes;
 
 use ArrayIterator;
-use Diff\DiffOp\Diff\Diff;
-use Diff\DiffOp\DiffOp;
-use Diff\DiffOp\DiffOpAdd;
-use Diff\DiffOp\DiffOpChange;
-use Diff\DiffOp\DiffOpRemove;
 use InvalidArgumentException;
 use Title;
 use Traversable;
@@ -19,10 +14,10 @@
 use Wikibase\Client\Usage\UsageAspectTransformer;
 use Wikibase\Client\Usage\UsageLookup;
 use Wikibase\DataModel\Entity\EntityId;
-use Wikibase\DataModel\Services\Diff\EntityDiff;
-use Wikibase\DataModel\Services\Diff\ItemDiff;
 use Wikibase\EntityChange;
 use Wikibase\ItemChange;
+use Wikibase\Lib\Changes\EntityDiffChangedAspects;
+use Wikibase\Lib\Changes\EntityDiffChangedAspectsFactory;
 use Wikibase\Lib\Store\StorageException;
 
 /**
@@ -120,58 +115,56 @@
        }
 
        /**
-        * @param EntityChange $change
+        * @param EntityChange|EntityDiffChangedAspects $change
         *
         * @return string[]
         */
-       public function getChangedAspects( EntityChange $change ) {
+       public function getChangedAspects( $change ) {
                $aspects = [];
 
-               $diff = $change->getDiff();
-               $remainingDiffOps = count( $diff ); // this is a "deep" count!
-
-               if ( $remainingDiffOps === 0 ) {
-                       // HACK: assume an empty diff implies that some "other" 
aspect of the entity was changed.
-                       // This is needed since 
EntityChangeFactory::newFromUpdate suppresses statement, description
-                       // and alias diffs for performance reasons.
-                       // For a better solution, see T113468.
-                       $aspects[] = EntityUsage::OTHER_USAGE;
-                       return $aspects;
+               if ( $change instanceof EntityChange ) {
+                       $diff = $change->getDiff();
+                       $diffAspects = ( new EntityDiffChangedAspectsFactory() 
)->newFromEntityDiff( $diff );
+               } elseif ( $change instanceof EntityDiffChangedAspects ) {
+                       $diffAspects = $change;
+               } else {
+                       throw  new InvalidArgumentException( 
'AffectedPagesFinder::getChangedAspects accepts ' .
+                               'EntityChange or EntityDiffChangedAspects' );
                }
 
-               if ( $diff instanceof ItemDiff && 
!$diff->getSiteLinkDiff()->isEmpty() ) {
-                       $siteLinkDiff = $diff->getSiteLinkDiff();
-
+               if ( $diffAspects->getSiteLinkChanges() !== [] ) {
+                       $sitelinkChanges = $diffAspects->getSiteLinkChanges();
                        $aspects[] = EntityUsage::SITELINK_USAGE;
-                       $remainingDiffOps -= count( $siteLinkDiff );
 
-                       if ( isset( $siteLinkDiff[$this->siteId] )
-                               && !$this->isBadgesOnlyChange( 
$siteLinkDiff[$this->siteId] )
+                       if ( isset( $sitelinkChanges[$this->siteId] )
+                               && !$this->isBadgesOnlyChange( 
$sitelinkChanges[$this->siteId] )
                        ) {
                                $aspects[] = EntityUsage::TITLE_USAGE;
                        }
                }
 
-               if ( $diff instanceof EntityDiff ) {
-                       $labelsDiff = $diff->getLabelsDiff();
-                       $descriptionsDiff = $diff->getDescriptionsDiff();
-
-                       if ( !$labelsDiff->isEmpty() ) {
-                               $labelAspects = $this->getChangedTermAspects( 
EntityUsage::LABEL_USAGE, $labelsDiff );
-                               $aspects = array_merge( $aspects, $labelAspects 
);
-                               $remainingDiffOps -= count( $labelAspects );
-                       }
-
-                       if ( !$descriptionsDiff->isEmpty() ) {
-                               $descriptionsAspects = 
$this->getChangedTermAspects( EntityUsage::DESCRIPTION_USAGE, $descriptionsDiff 
);
-                               $aspects = array_merge( $aspects, 
$descriptionsAspects );
-                               $remainingDiffOps -= count( 
$descriptionsAspects );
-                       }
+               if ( $diffAspects->getLabelChanges() !== [] ) {
+                       $labelAspects = $this->getChangedTermAspects(
+                               EntityUsage::LABEL_USAGE,
+                               $diffAspects->getLabelChanges()
+                       );
+                       $aspects = array_merge( $aspects, $labelAspects );
                }
 
-               // FIXME: EntityChange suppresses various kinds of diffs (see 
above). T113468.
+               if ( $diffAspects->getDescriptionChanges() !== [] ) {
+                       $descriptionsAspects = $this->getChangedTermAspects(
+                               EntityUsage::DESCRIPTION_USAGE,
+                               $diffAspects->getDescriptionChanges()
+                       );
+                       $aspects = array_merge( $aspects, $descriptionsAspects 
);
+               }
 
-               if ( $remainingDiffOps > 0 ) {
+               if ( ( $diffAspects->getStatementChanges() !== [] ) || ( 
$diffAspects->hasOtherChanges() !== false ) ) {
+                       $aspects[] = EntityUsage::OTHER_USAGE;
+               }
+
+               if ( $aspects === [] ) {
+                       // This is needed when diff is supressed for 
performance reasons
                        $aspects[] = EntityUsage::OTHER_USAGE;
                }
 
@@ -180,14 +173,14 @@
 
        /**
         * @param string $aspect
-        * @param Diff $diff
+        * @param string[] $diff
         *
         * @return string[]
         */
-       private function getChangedTermAspects( $aspect, Diff $diff ) {
+       private function getChangedTermAspects( $aspect, array $diff ) {
                $aspects = [];
 
-               foreach ( $diff as $lang => $diffOp ) {
+               foreach ( $diff as $lang ) {
                        $aspects[] = EntityUsage::makeAspectKey( $aspect, $lang 
);
                }
 
@@ -225,10 +218,18 @@
                $usages = $this->transformAllPageEntityUsages( $usages, 
$entityId, $changedAspects );
 
                if ( $change instanceof ItemChange && in_array( 
EntityUsage::TITLE_USAGE, $changedAspects ) ) {
-                       $siteLinkDiff = $change->getSiteLinkDiff();
-                       $namesFromDiff = $this->getPagesReferencedInDiff( 
$siteLinkDiff );
+                       $diffChangedAspects = ( new 
EntityDiffChangedAspectsFactory() )->newFromEntityDiff(
+                               $change->getDiff()
+                       );
+                       $namesFromDiff = $this->getPagesReferencedInDiff(
+                               $diffChangedAspects->getSiteLinkChanges()
+                       );
                        $titlesFromDiff = $this->getTitlesFromTexts( 
$namesFromDiff );
-                       $usagesFromDiff = $this->makeVirtualUsages( 
$titlesFromDiff, $entityId, [ EntityUsage::SITELINK_USAGE ] );
+                       $usagesFromDiff = $this->makeVirtualUsages(
+                               $titlesFromDiff,
+                               $entityId,
+                               [ EntityUsage::SITELINK_USAGE ]
+                       );
 
                        //FIXME: we can't really merge if $usages is an 
iterator, not an array.
                        //TODO: Inject $usagesFromDiff "on the fly" while 
streaming other usages.
@@ -259,45 +260,33 @@
        }
 
        /**
-        * @param Diff $siteLinkDiff
+        * @param array[] $siteLinkDiff
         *
         * @throws UnexpectedValueException
         * @return string[]
         */
-       private function getPagesReferencedInDiff( Diff $siteLinkDiff ) {
+       private function getPagesReferencedInDiff( array $siteLinkDiff ) {
                $pagesToUpdate = [];
+               $siteLinkDiffWiki = $siteLinkDiff[$this->siteId];
 
-               // $siteLinkDiff changed from containing atomic diffs to
-               // containing map diffs. For B/C, handle both cases.
-               $siteLinkDiffOp = $siteLinkDiff[$this->siteId];
-
-               if ( $siteLinkDiffOp instanceof Diff && array_key_exists( 
'name', $siteLinkDiffOp ) ) {
-                       $siteLinkDiffOp = $siteLinkDiffOp['name'];
+               if ( $siteLinkDiffWiki[0] !== null ) {
+                       $pagesToUpdate[] = $siteLinkDiffWiki[0];
                }
 
-               if ( $siteLinkDiffOp instanceof DiffOpAdd ) {
-                       $pagesToUpdate[] = $siteLinkDiffOp->getNewValue();
-               } elseif ( $siteLinkDiffOp instanceof DiffOpRemove ) {
-                       $pagesToUpdate[] = $siteLinkDiffOp->getOldValue();
-               } elseif ( $siteLinkDiffOp instanceof DiffOpChange ) {
-                       $pagesToUpdate[] = $siteLinkDiffOp->getNewValue();
-                       $pagesToUpdate[] = $siteLinkDiffOp->getOldValue();
-               } else {
-                       throw new UnexpectedValueException(
-                               "Unknown change operation: " . get_class( 
$siteLinkDiffOp ) . ")"
-                       );
+               if ( $siteLinkDiffWiki[1] !== null ) {
+                       $pagesToUpdate[] = $siteLinkDiffWiki[1];
                }
 
                return $pagesToUpdate;
        }
 
        /**
-        * @param DiffOp $siteLinkDiffOp
+        * @param array $siteLinkDiff
         *
         * @return bool
         */
-       private function isBadgesOnlyChange( DiffOp $siteLinkDiffOp ) {
-               return $siteLinkDiffOp instanceof Diff && !array_key_exists( 
'name', $siteLinkDiffOp );
+       private function isBadgesOnlyChange( array $siteLinkDiff ) {
+               return ( $siteLinkDiff[0] === $siteLinkDiff[1] && 
$siteLinkDiff[2] === true );
        }
 
        /**
diff --git 
a/extensions/Wikibase/client/tests/phpunit/includes/Changes/AffectedPagesFinderTest.php
 
b/extensions/Wikibase/client/tests/phpunit/includes/Changes/AffectedPagesFinderTest.php
index 7f07c52..59c9432 100644
--- 
a/extensions/Wikibase/client/tests/phpunit/includes/Changes/AffectedPagesFinderTest.php
+++ 
b/extensions/Wikibase/client/tests/phpunit/includes/Changes/AffectedPagesFinderTest.php
@@ -18,6 +18,7 @@
 use Wikibase\DataModel\Entity\PropertyId;
 use Wikibase\DataModel\Snak\PropertyValueSnak;
 use Wikibase\EntityChange;
+use Wikibase\Lib\Changes\EntityDiffChangedAspectsFactory;
 use Wikibase\Lib\Store\SiteLinkLookup;
 use Wikibase\Lib\Store\StorageException;
 use Wikibase\Lib\Tests\Changes\TestChanges;
@@ -222,6 +223,24 @@
                $this->assertEquals( $expected, $actual );
        }
 
+       /**
+        * @dataProvider getChangedAspectsProvider
+        */
+       public function testGetChangedAspectsUsingEntityChangeAspects(
+               array $expected,
+               EntityChange $change,
+               $trackUsagesInAllLanguages = false
+       ) {
+               $referencedPagesFinder = $this->getAffectedPagesFinder( [], [], 
$trackUsagesInAllLanguages );
+
+               $aspects = ( new EntityDiffChangedAspectsFactory() 
)->newFromEntityDiff( $change->getDiff() );
+               $actual = $referencedPagesFinder->getChangedAspects( $aspects );
+
+               sort( $expected );
+               sort( $actual );
+               $this->assertEquals( $expected, $actual );
+       }
+
        public function getAffectedUsagesByPageProvider() {
                $labelUsageDe = EntityUsage::LABEL_USAGE . '.de';
                $labelUsageEn = EntityUsage::LABEL_USAGE . '.en';
diff --git a/extensions/Wikibase/lib/i18n/ur.json 
b/extensions/Wikibase/lib/i18n/ur.json
index 9242c3f..947b8fb 100644
--- a/extensions/Wikibase/lib/i18n/ur.json
+++ b/extensions/Wikibase/lib/i18n/ur.json
@@ -4,7 +4,8 @@
                        "පසිඳු කාවින්ද",
                        "عثمان خان شاہ",
                        "Noor2020",
-                       "Muhammad Shuaib"
+                       "Muhammad Shuaib",
+                       "BukhariSaeed"
                ]
        },
        "wikibase-sitelinks-wikipedia": "ویکیپیڈیا",
@@ -16,5 +17,7 @@
        "wikibase-entity-summary-wbsetclaim-update-references": "تبدیل کر دیا 
گیا  {{PLURAL:$4| ایک حوالہ کا| $4  حوالہ جات کے}}  {{PLURAL:$3| دعوی|دعوے}}",
        "wikibase-entity-summary-wbsetclaim-update-rank": "درجہ تبدیل کر دیا 
گیا  {{PLURAL:$3| دعوی کا|دعوے کے }}",
        "wikibase-item-summary-wbcreate-new": "نئی شے کو تخلیق کیا",
+       "wikibase-item-summary-wbeditentity-override": "آئٹم کو صاف کریں",
+       "wikibase-item-summary-wblinktitles-create": "صفحات کے ساتھ جوڑنے کے 
لیے اس آئٹم کو بنائیں",
        "wikibase-property-summary-wbcreate-new": "ایک نئی خاصیت پیدا کیا"
 }
diff --git a/extensions/Wikibase/repo/i18n/be-tarask.json 
b/extensions/Wikibase/repo/i18n/be-tarask.json
index 423c18c..53eea32 100644
--- a/extensions/Wikibase/repo/i18n/be-tarask.json
+++ b/extensions/Wikibase/repo/i18n/be-tarask.json
@@ -142,6 +142,7 @@
        "wikibase-itembytitle-lookup-site": "Сайт:",
        "wikibase-itembytitle-lookup-page": "Старонка:",
        "wikibase-itembytitle-submit": "Шукаць",
+       "wikibase-itembytitle-error-site": "Калі ласка, увядзіце існы 
ідэнтыфікатар сайту, напрыклад, «enwiki» для ангельскай Вікіпэдыі.",
        "wikibase-itembytitle-create": "Вы можаце таксама [$1 стварыць новы 
аб’ект].",
        "wikibase-gotolinkedpage-lookup-site": "Сайт:",
        "wikibase-gotolinkedpage-error-item-not-found": "Элемэнт ня знойдзены",
diff --git a/extensions/Wikibase/repo/i18n/sat.json 
b/extensions/Wikibase/repo/i18n/sat.json
index d0e02d1..b58a1ce 100644
--- a/extensions/Wikibase/repo/i18n/sat.json
+++ b/extensions/Wikibase/repo/i18n/sat.json
@@ -2,10 +2,11 @@
        "@metadata": {
                "authors": [
                        "Albinus",
-                       "Ramjit Tudu"
+                       "Ramjit Tudu",
+                       "Manik Soren"
                ]
        },
-       "wikibase-edit": "Toṅge",
+       "wikibase-edit": "ᱥᱟᱯᱲᱟᱣ",
        "wikibase-add": "Joṛao",
        "wikibase-label-empty": "Jahan lebel Bạnuḱa",
        "wikibase-description-empty": "Jahan jạṛ baṅ joṅṛao akana",
diff --git a/extensions/Wikibase/repo/includes/Content/ItemHandler.php 
b/extensions/Wikibase/repo/includes/Content/ItemHandler.php
index 10a800c..fd23e32 100644
--- a/extensions/Wikibase/repo/includes/Content/ItemHandler.php
+++ b/extensions/Wikibase/repo/includes/Content/ItemHandler.php
@@ -31,6 +31,7 @@
 use Wikibase\SubmitEntityAction;
 use Wikibase\TermIndex;
 use Wikibase\ViewEntityAction;
+use WikiPage;
 
 /**
  * Content handler for Wikibase items.
@@ -110,15 +111,15 @@
         */
        public function getActionOverrides() {
                return [
-                       'history' => function( Page $page, IContextSource 
$context ) {
+                       'history' => function( Page $article, IContextSource 
$context ) {
                                // NOTE: for now, the callback must work with a 
WikiPage as well as an Article
                                // object. Once I0335100b2 is merged, this is 
no longer needed.
-                               if ( !( $page instanceof Article ) ) {
-                                       $page = Article::newFromWikiPage( 
$page, $context );
+                               if ( $article instanceof WikiPage ) {
+                                       $article = Article::newFromWikiPage( 
$article, $context );
                                }
 
                                return new HistoryEntityAction(
-                                       $page,
+                                       $article,
                                        $context,
                                        $this->entityIdLookup,
                                        
$this->labelLookupFactory->newLabelDescriptionLookup( $context->getLanguage() )
diff --git a/extensions/Wikibase/repo/includes/Content/PropertyHandler.php 
b/extensions/Wikibase/repo/includes/Content/PropertyHandler.php
index e201c0e..8b09ef1 100644
--- a/extensions/Wikibase/repo/includes/Content/PropertyHandler.php
+++ b/extensions/Wikibase/repo/includes/Content/PropertyHandler.php
@@ -27,6 +27,7 @@
 use Wikibase\SubmitEntityAction;
 use Wikibase\TermIndex;
 use Wikibase\ViewEntityAction;
+use WikiPage;
 
 /**
  * Content handler for Wikibase items.
@@ -105,15 +106,15 @@
         */
        public function getActionOverrides() {
                return [
-                       'history' => function( Page $page, IContextSource 
$context ) {
+                       'history' => function( Page $article, IContextSource 
$context ) {
                                // NOTE: for now, the callback must work with a 
WikiPage as well as an Article
                                // object. Once I0335100b2 is merged, this is 
no longer needed.
-                               if ( !( $page instanceof Article ) ) {
-                                       $page = Article::newFromWikiPage( 
$page, $context );
+                               if ( $article instanceof WikiPage ) {
+                                       $article = Article::newFromWikiPage( 
$article, $context );
                                }
 
                                return new HistoryEntityAction(
-                                       $page,
+                                       $article,
                                        $context,
                                        $this->entityIdLookup,
                                        
$this->labelLookupFactory->newLabelDescriptionLookup( $context->getLanguage() )
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/Actions/HistoryEntityActionTest.php
 
b/extensions/Wikibase/repo/tests/phpunit/includes/Actions/HistoryEntityActionTest.php
index c1d4c3f..f67a6d3 100644
--- 
a/extensions/Wikibase/repo/tests/phpunit/includes/Actions/HistoryEntityActionTest.php
+++ 
b/extensions/Wikibase/repo/tests/phpunit/includes/Actions/HistoryEntityActionTest.php
@@ -36,16 +36,14 @@
        const DUMMY_LANGUAGE = 'qqx';
 
        /**
-        * @param string $title
-        *
         * @return Article
         */
-       private function getPage( $title ) {
+       private function getArticle() {
                $page = $this->getMockBuilder( Article::class )
                        ->disableOriginalConstructor()
                        ->getMock();
                $page->method( 'getTitle' )
-                       ->willReturn( Title::newFromText( $title ) );
+                       ->willReturn( Title::newFromText( 'Page title' ) );
                $page->expects( $this->never() )
                        ->method( 'getPage' )
                        // Deserializing the full entity may fail, see 
https://gerrit.wikimedia.org/r/262881
@@ -140,7 +138,7 @@
                        ->with( $expected );
 
                $action = new HistoryEntityAction(
-                       $this->getPage( 'Page title' ),
+                       $this->getArticle(),
                        $this->getContext( $output ),
                        $entityIdLookup,
                        $labelLookup
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/Content/EntityHandlerTest.php 
b/extensions/Wikibase/repo/tests/phpunit/includes/Content/EntityHandlerTest.php
index 26d13c4..2e14f32 100644
--- 
a/extensions/Wikibase/repo/tests/phpunit/includes/Content/EntityHandlerTest.php
+++ 
b/extensions/Wikibase/repo/tests/phpunit/includes/Content/EntityHandlerTest.php
@@ -11,6 +11,7 @@
 use InvalidArgumentException;
 use Language;
 use LogicException;
+use MediaWiki\Storage\PageIdentityValue;
 use MWException;
 use PHPUnit_Framework_MockObject_MockObject;
 use RequestContext;
@@ -240,12 +241,19 @@
                $title->method( 'exists' )
                        ->will( $this->returnValue( true ) );
 
-               $title->method( 'getArticleId' )
+               $title->method( 'getArticleID' )
                        ->will( $this->returnValue( $id ) );
 
-               $title->method( 'getLatestRevId' )
+               $title->method( 'getLatestRevID' )
                        ->will( $this->returnValue( $id ) );
 
+               // TODO: remove conditional as soon as Title::getPageIdentity() 
is in core.
+               if ( method_exists( Title::class, 'getPageIdentity' ) ) {
+                       $page = PageIdentityValue::newFromDBKey( $id, NS_MAIN, 
__CLASS__ );
+                       $title->method( 'getPageIdentity' )
+                               ->will( $this->returnValue( $page ) );
+               }
+
                $revision = new Revision( [
                        'id' => $id,
                        'title' => $title,
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 56cd02f..e1a7841 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -1298,7 +1298,7 @@
         "source": {
             "type": "git",
             "url": 
"https://gerrit.wikimedia.org/r/mediawiki/extensions/Wikibase";,
-            "reference": "3c5940f36b0b4aa706504387672cc67b663e6b82"
+            "reference": "14bed7070fc07bb9ca6a2cc653d727228029360a"
         },
         "require": {
             "composer/installers": ">=1.0.1",
@@ -1327,7 +1327,7 @@
             "mediawiki/minus-x": "0.1.0",
             "wikibase/wikibase-codesniffer": "^0.2.0"
         },
-        "time": "2017-11-24 09:19:20",
+        "time": "2017-11-24 22:28:34",
         "type": "mediawiki-extension",
         "installation-source": "source",
         "scripts": {
@@ -1369,7 +1369,7 @@
         "source": {
             "type": "git",
             "url": 
"https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseQuality";,
-            "reference": "e9b0e8a9f25da82678452a27c2161687d1a23abf"
+            "reference": "c4ffcf0e023827e167adf2483dcabad36888bc13"
         },
         "require": {
             "php": ">=5.5.9",
@@ -1390,7 +1390,7 @@
             "wikibase/data-model-serialization": ">=0.1 <3.0",
             "wikibase/wikibase-codesniffer": "^0.2.0"
         },
-        "time": "2017-11-13 14:54:24",
+        "time": "2017-11-24 22:28:58",
         "type": "mediawiki-extension",
         "installation-source": "source",
         "scripts": {
@@ -1433,7 +1433,7 @@
         "source": {
             "type": "git",
             "url": 
"https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseQualityConstraints";,
-            "reference": "c92db5bdcede9018eaf39821049fd10801cd21b9"
+            "reference": "881e265221b80e6ea20a4baff90e5d53b69ed8a6"
         },
         "require": {
             "php": ">=5.5.9",
@@ -1450,7 +1450,7 @@
             "satooshi/php-coveralls": "master-dev",
             "wikibase/wikibase-codesniffer": "^0.2.0"
         },
-        "time": "2017-11-23 15:21:59",
+        "time": "2017-11-24 22:29:05",
         "type": "mediawiki-extension",
         "installation-source": "source",
         "scripts": {

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic8aabd1877e1882fedff36f9ac03298b2f950c8e
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikidata
Gerrit-Branch: master
Gerrit-Owner: WikidataBuilder <wikidata-servi...@wikimedia.de>

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

Reply via email to