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

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

New Wikidata Build - 2017-01-14T10:00:01+0000

Change-Id: I4b7436067c353a850b201df24c79f465080da03a
---
M composer.lock
M extensions/Wikibase/client/includes/Hooks/DataUpdateHookHandlers.php
M extensions/Wikibase/client/includes/Hooks/NoLangLinkHandler.php
M extensions/Wikibase/client/includes/Hooks/ParserOutputUpdateHookHandlers.php
M extensions/Wikibase/repo/Wikibase.php
M extensions/Wikibase/repo/includes/ClaimSummaryBuilder.php
M extensions/Wikibase/repo/includes/Content/ItemContent.php
M extensions/Wikibase/repo/includes/Content/PropertyContent.php
M extensions/Wikibase/repo/includes/Hooks/LabelPrefetchHookHandlers.php
M extensions/Wikibase/repo/includes/Specials/SpecialSetSiteLink.php
M 
extensions/Wikibase/repo/tests/phpunit/includes/Specials/SpecialSetSiteLinkTest.php
M extensions/Wikibase/repo/tests/phpunit/includes/ValueParserFactoryTest.php
M vendor/composer/installed.json
13 files changed, 153 insertions(+), 69 deletions(-)


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

diff --git a/composer.lock b/composer.lock
index cb78ea3..72b8c61 100644
--- a/composer.lock
+++ b/composer.lock
@@ -1606,12 +1606,12 @@
             "source": {
                 "type": "git",
                 "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-                "reference": "1b3dcf8d1315722793a0354e00e636dcad2b6a4c"
+                "reference": "97b8f7fc8d7391ac4b6df0eb25faea0fe7fdd008"
             },
             "dist": {
                 "type": "zip",
-                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/1b3dcf8d1315722793a0354e00e636dcad2b6a4c";,
-                "reference": "1b3dcf8d1315722793a0354e00e636dcad2b6a4c",
+                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/97b8f7fc8d7391ac4b6df0eb25faea0fe7fdd008";,
+                "reference": "97b8f7fc8d7391ac4b6df0eb25faea0fe7fdd008",
                 "shasum": ""
             },
             "require": {
@@ -1686,7 +1686,7 @@
                 "wikibaserepo",
                 "wikidata"
             ],
-            "time": "2017-01-12 14:42:28"
+            "time": "2017-01-13 17:12:25"
         },
         {
             "name": "wikibase/wikimedia-badges",
diff --git 
a/extensions/Wikibase/client/includes/Hooks/DataUpdateHookHandlers.php 
b/extensions/Wikibase/client/includes/Hooks/DataUpdateHookHandlers.php
index 32f348a..28196c4 100644
--- a/extensions/Wikibase/client/includes/Hooks/DataUpdateHookHandlers.php
+++ b/extensions/Wikibase/client/includes/Hooks/DataUpdateHookHandlers.php
@@ -44,8 +44,11 @@
         */
        private $jobScheduler;
 
+       /**
+        * @return self
+        */
        public static function newFromGlobalState() {
-               return new DataUpdateHookHandlers(
+               return new self(
                        
WikibaseClient::getDefaultInstance()->getStore()->getUsageUpdater(),
                        JobQueueGroup::singleton()
                );
diff --git a/extensions/Wikibase/client/includes/Hooks/NoLangLinkHandler.php 
b/extensions/Wikibase/client/includes/Hooks/NoLangLinkHandler.php
index 4803a49..1de6693 100644
--- a/extensions/Wikibase/client/includes/Hooks/NoLangLinkHandler.php
+++ b/extensions/Wikibase/client/includes/Hooks/NoLangLinkHandler.php
@@ -43,6 +43,9 @@
                $handler->doHandle( $parser, $langs );
        }
 
+       /**
+        * @return self
+        */
        private static function newFromGlobalState() {
                $wikibaseClient = WikibaseClient::getDefaultInstance();
                $settings = $wikibaseClient->getSettings();
@@ -52,7 +55,7 @@
                        $settings->getSetting( 'namespaces' )
                );
 
-               return new NoLangLinkHandler( $namespaceChecker );
+               return new self( $namespaceChecker );
        }
 
        public function __construct( NamespaceChecker $namespaceChecker ) {
diff --git 
a/extensions/Wikibase/client/includes/Hooks/ParserOutputUpdateHookHandlers.php 
b/extensions/Wikibase/client/includes/Hooks/ParserOutputUpdateHookHandlers.php
index 0620588..ddaeea5 100644
--- 
a/extensions/Wikibase/client/includes/Hooks/ParserOutputUpdateHookHandlers.php
+++ 
b/extensions/Wikibase/client/includes/Hooks/ParserOutputUpdateHookHandlers.php
@@ -37,13 +37,16 @@
         */
        private $parserOutputDataUpdater;
 
+       /**
+        * @return self
+        */
        public static function newFromGlobalState() {
                global $wgLang;
                StubUserLang::unstub( $wgLang );
 
                $wikibaseClient = WikibaseClient::getDefaultInstance();
 
-               return new ParserOutputUpdateHookHandlers(
+               return new self(
                        $wikibaseClient->getNamespaceChecker(),
                        $wikibaseClient->getLangLinkHandler(),
                        $wikibaseClient->getParserOutputDataUpdater()
diff --git a/extensions/Wikibase/repo/Wikibase.php 
b/extensions/Wikibase/repo/Wikibase.php
index 47039a3..a056e5d 100644
--- a/extensions/Wikibase/repo/Wikibase.php
+++ b/extensions/Wikibase/repo/Wikibase.php
@@ -274,7 +274,27 @@
        $wgSpecialPages['SetAliases'] = 
Wikibase\Repo\Specials\SpecialSetAliases::class;
        $wgSpecialPages['SetLabelDescriptionAliases']
                = 
Wikibase\Repo\Specials\SpecialSetLabelDescriptionAliases::class;
-       $wgSpecialPages['SetSiteLink'] = 
Wikibase\Repo\Specials\SpecialSetSiteLink::class;
+       $wgSpecialPages['SetSiteLink'] = function() {
+               $wikibaseRepo = 
\Wikibase\Repo\WikibaseRepo::getDefaultInstance();
+               $siteLookup = $wikibaseRepo->getSiteLookup();
+               $settings = $wikibaseRepo->getSettings();
+
+               $siteLinkChangeOpFactory = 
$wikibaseRepo->getChangeOpFactoryProvider()->getSiteLinkChangeOpFactory();
+               $siteLinkTargetProvider = new 
\Wikibase\Repo\SiteLinkTargetProvider(
+                       $siteLookup,
+                       $settings->getSetting( 'specialSiteLinkGroups' )
+               );
+
+               $labelDescriptionLookupFactory = 
$wikibaseRepo->getLanguageFallbackLabelDescriptionLookupFactory();
+               return new Wikibase\Repo\Specials\SpecialSetSiteLink(
+                       $siteLookup,
+                       $siteLinkTargetProvider,
+                       $settings->getSetting( 'siteLinkGroups' ),
+                       $settings->getSetting( 'badgeItems' ),
+                       $labelDescriptionLookupFactory,
+                       $siteLinkChangeOpFactory
+               );
+       };
        $wgSpecialPages['EntitiesWithoutLabel'] = array(
                Wikibase\Repo\Specials\SpecialEntitiesWithoutPageFactory::class,
                'newSpecialEntitiesWithoutLabel'
diff --git a/extensions/Wikibase/repo/includes/ClaimSummaryBuilder.php 
b/extensions/Wikibase/repo/includes/ClaimSummaryBuilder.php
index 40388c0..0badd77 100644
--- a/extensions/Wikibase/repo/includes/ClaimSummaryBuilder.php
+++ b/extensions/Wikibase/repo/includes/ClaimSummaryBuilder.php
@@ -28,8 +28,6 @@
        private $claimDiffer;
 
        /**
-        * Constructs a new ClaimSummaryBuilder
-        *
         * @since 0.4
         *
         * @param string $apiModuleName
diff --git a/extensions/Wikibase/repo/includes/Content/ItemContent.php 
b/extensions/Wikibase/repo/includes/Content/ItemContent.php
index 4a046f3..366fbe8 100644
--- a/extensions/Wikibase/repo/includes/Content/ItemContent.php
+++ b/extensions/Wikibase/repo/includes/Content/ItemContent.php
@@ -153,8 +153,6 @@
        }
 
        /**
-        * Returns a new empty ItemContent.
-        *
         * @return self
         */
        public static function newEmpty() {
diff --git a/extensions/Wikibase/repo/includes/Content/PropertyContent.php 
b/extensions/Wikibase/repo/includes/Content/PropertyContent.php
index 59e2ea2..2bfaece 100644
--- a/extensions/Wikibase/repo/includes/Content/PropertyContent.php
+++ b/extensions/Wikibase/repo/includes/Content/PropertyContent.php
@@ -66,8 +66,6 @@
        }
 
        /**
-        * Returns a new empty PropertyContent.
-        *
         * @return self
         */
        public static function newEmpty() {
diff --git 
a/extensions/Wikibase/repo/includes/Hooks/LabelPrefetchHookHandlers.php 
b/extensions/Wikibase/repo/includes/Hooks/LabelPrefetchHookHandlers.php
index 12fd0e4..fdce841 100644
--- a/extensions/Wikibase/repo/includes/Hooks/LabelPrefetchHookHandlers.php
+++ b/extensions/Wikibase/repo/includes/Hooks/LabelPrefetchHookHandlers.php
@@ -53,7 +53,7 @@
        private $languageCodes;
 
        /**
-        * @return null|LabelPrefetchHookHandlers
+        * @return self|null
         */
        private static function newFromGlobalState() {
                $wikibaseRepo = WikibaseRepo::getDefaultInstance();
@@ -70,7 +70,7 @@
                $languageFallbackChainFactory = 
$wikibaseRepo->getLanguageFallbackChainFactory();
                $languageFallbackChain = 
$languageFallbackChainFactory->newFromContext( $context );
 
-               return new LabelPrefetchHookHandlers(
+               return new self(
                        $termBuffer,
                        $wikibaseRepo->getEntityIdLookup(),
                        new TitleFactory(),
diff --git a/extensions/Wikibase/repo/includes/Specials/SpecialSetSiteLink.php 
b/extensions/Wikibase/repo/includes/Specials/SpecialSetSiteLink.php
index 4c6d853..7b5dc32 100644
--- a/extensions/Wikibase/repo/includes/Specials/SpecialSetSiteLink.php
+++ b/extensions/Wikibase/repo/includes/Specials/SpecialSetSiteLink.php
@@ -14,7 +14,6 @@
 use Wikibase\DataModel\Entity\ItemId;
 use Wikibase\Lib\Store\LanguageFallbackLabelDescriptionLookupFactory;
 use Wikibase\Repo\SiteLinkTargetProvider;
-use Wikibase\Repo\WikibaseRepo;
 use Wikibase\Summary;
 
 /**
@@ -26,6 +25,36 @@
  * @author Bene* < benestar.wikime...@googlemail.com >
  */
 class SpecialSetSiteLink extends SpecialModifyEntity {
+
+       /**
+        * @var SiteLookup
+        */
+       private $siteLookup;
+
+       /**
+        * @var SiteLinkTargetProvider
+        */
+       private $siteLinkTargetProvider;
+
+       /**
+        * @var string[]
+        */
+       private $siteLinkGroups;
+
+       /**
+        * @var string[]
+        */
+       private $badgeItems;
+
+       /**
+        * @var LanguageFallbackLabelDescriptionLookupFactory
+        */
+       private $labelDescriptionLookupFactory;
+
+       /**
+        * @var SiteLinkChangeOpFactory
+        */
+       private $siteLinkChangeOpFactory;
 
        /**
         * The site of the site link.
@@ -49,56 +78,29 @@
        private $badges;
 
        /**
-        * @var string[]
+        * @param SiteLookup $siteLookup
+        * @param SiteLinkTargetProvider $siteLinkTargetProvider
+        * @param string[] $siteLinkGroups
+        * @param string[] $badgeItems
+        * @param LanguageFallbackLabelDescriptionLookupFactory 
$labelDescriptionLookupFactory
+        * @param SiteLinkChangeOpFactory $siteLinkChangeOpFactory
         */
-       private $badgeItems;
-
-       /**
-        * @var string[]
-        */
-       private $siteLinkGroups;
-
-       /**
-        * @var SiteLinkChangeOpFactory
-        */
-       private $siteLinkChangeOpFactory;
-
-       /**
-        * @var SiteLinkTargetProvider
-        */
-       private $siteLinkTargetProvider;
-
-       /**
-        * @var LanguageFallbackLabelDescriptionLookupFactory
-        */
-       private $labelDescriptionLookupFactory;
-
-       /**
-        * @var SiteLookup
-        */
-       private $siteLookup;
-
-       /**
-        * @since 0.4
-        */
-       public function __construct() {
+       public function __construct(
+               SiteLookup $siteLookup,
+               SiteLinkTargetProvider $siteLinkTargetProvider,
+               array $siteLinkGroups,
+               array $badgeItems,
+               LanguageFallbackLabelDescriptionLookupFactory 
$labelDescriptionLookupFactory,
+               SiteLinkChangeOpFactory $siteLinkChangeOpFactory
+       ) {
                parent::__construct( 'SetSiteLink' );
 
-               $wikibaseRepo = WikibaseRepo::getDefaultInstance();
-               $settings = $wikibaseRepo->getSettings();
-
-               $this->siteLookup = $wikibaseRepo->getSiteLookup();
-
-               $this->badgeItems = $settings->getSetting( 'badgeItems' );
-               $this->siteLinkGroups = $settings->getSetting( 'siteLinkGroups' 
);
-
-               $this->siteLinkChangeOpFactory = 
$wikibaseRepo->getChangeOpFactoryProvider()->getSiteLinkChangeOpFactory();
-               $this->siteLinkTargetProvider = new SiteLinkTargetProvider(
-                       $this->siteLookup,
-                       $settings->getSetting( 'specialSiteLinkGroups' )
-               );
-
-               $this->labelDescriptionLookupFactory = 
$wikibaseRepo->getLanguageFallbackLabelDescriptionLookupFactory();
+               $this->siteLookup = $siteLookup;
+               $this->siteLinkTargetProvider = $siteLinkTargetProvider;
+               $this->siteLinkGroups = $siteLinkGroups;
+               $this->badgeItems = $badgeItems;
+               $this->labelDescriptionLookupFactory = 
$labelDescriptionLookupFactory;
+               $this->siteLinkChangeOpFactory = $siteLinkChangeOpFactory;
        }
 
        public function doesWrites() {
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/Specials/SpecialSetSiteLinkTest.php
 
b/extensions/Wikibase/repo/tests/phpunit/includes/Specials/SpecialSetSiteLinkTest.php
index 7538e6d..ce938d9 100644
--- 
a/extensions/Wikibase/repo/tests/phpunit/includes/Specials/SpecialSetSiteLinkTest.php
+++ 
b/extensions/Wikibase/repo/tests/phpunit/includes/Specials/SpecialSetSiteLinkTest.php
@@ -10,6 +10,7 @@
 use Wikibase\DataModel\Entity\EntityRedirect;
 use Wikibase\DataModel\Entity\Item;
 use Wikibase\DataModel\Entity\ItemId;
+use Wikibase\Repo\SiteLinkTargetProvider;
 use Wikibase\Repo\Specials\SpecialSetSiteLink;
 use Wikibase\Repo\WikibaseRepo;
 
@@ -88,7 +89,25 @@
        private static $oldBadgeItemsSetting;
 
        protected function newSpecialPage() {
-               return new SpecialSetSiteLink();
+               $wikibaseRepo = WikibaseRepo::getDefaultInstance();
+               $siteLookup = $wikibaseRepo->getSiteLookup();
+               $settings = $wikibaseRepo->getSettings();
+
+               $siteLinkChangeOpFactory = 
$wikibaseRepo->getChangeOpFactoryProvider()->getSiteLinkChangeOpFactory();
+               $siteLinkTargetProvider = new SiteLinkTargetProvider(
+                       $siteLookup,
+                       $settings->getSetting( 'specialSiteLinkGroups' )
+               );
+
+               $labelDescriptionLookupFactory = 
$wikibaseRepo->getLanguageFallbackLabelDescriptionLookupFactory();
+               return new SpecialSetSiteLink(
+                       $siteLookup,
+                       $siteLinkTargetProvider,
+                       $settings->getSetting( 'siteLinkGroups' ),
+                       $settings->getSetting( 'badgeItems' ),
+                       $labelDescriptionLookupFactory,
+                       $siteLinkChangeOpFactory
+               );
        }
 
        protected function setUp() {
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/ValueParserFactoryTest.php 
b/extensions/Wikibase/repo/tests/phpunit/includes/ValueParserFactoryTest.php
index a9e096e..e0f4730 100644
--- a/extensions/Wikibase/repo/tests/phpunit/includes/ValueParserFactoryTest.php
+++ b/extensions/Wikibase/repo/tests/phpunit/includes/ValueParserFactoryTest.php
@@ -2,6 +2,9 @@
 
 namespace Wikibase\Repo\Tests;
 
+use InvalidArgumentException;
+use LogicException;
+use OutOfBoundsException;
 use ValueParsers\NullParser;
 use ValueParsers\ParserOptions;
 use ValueParsers\ValueParser;
@@ -14,10 +17,47 @@
  *
  * @license GPL-2.0+
  * @author Adrian Heine <adrian.he...@wikimedia.de>
+ * @author Thiemo Mättig
  */
 class ValueParserFactoryTest extends \PHPUnit_Framework_TestCase {
 
        /**
+        * @dataProvider provideInvalidConstructorArgument
+        */
+       public function testInvalidConstructorArgument( array $valueParsers ) {
+               $this->setExpectedException( InvalidArgumentException::class );
+               new ValueParserFactory( $valueParsers );
+       }
+
+       public function provideInvalidConstructorArgument() {
+               return [
+                       'value is not a callable' => [ [
+                               'id' => 'not a callable',
+                       ] ],
+                       'id is not a string' => [ [
+                               function () {
+                               },
+                       ] ],
+               ];
+       }
+
+       public function testNewParser_withUnknownParserId() {
+               $factory = new ValueParserFactory( [] );
+
+               $this->setExpectedException( OutOfBoundsException::class );
+               $factory->newParser( 'unknown', new ParserOptions() );
+       }
+
+       public function testNewParser_withInvalidReturnValue() {
+               $factory = new ValueParserFactory( [ 'id' => function () {
+                       return 'invalid';
+               } ] );
+
+               $this->setExpectedException( LogicException::class );
+               $factory->newParser( 'id', new ParserOptions() );
+       }
+
+       /**
         * @dataProvider provideFactoryFunctions
         */
        public function testGetParserIds( $factoryFunctions ) {
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index e04d415..2075814 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -1409,12 +1409,12 @@
         "source": {
             "type": "git",
             "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-            "reference": "1b3dcf8d1315722793a0354e00e636dcad2b6a4c"
+            "reference": "97b8f7fc8d7391ac4b6df0eb25faea0fe7fdd008"
         },
         "dist": {
             "type": "zip",
-            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/1b3dcf8d1315722793a0354e00e636dcad2b6a4c";,
-            "reference": "1b3dcf8d1315722793a0354e00e636dcad2b6a4c",
+            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/97b8f7fc8d7391ac4b6df0eb25faea0fe7fdd008";,
+            "reference": "97b8f7fc8d7391ac4b6df0eb25faea0fe7fdd008",
             "shasum": ""
         },
         "require": {
@@ -1447,7 +1447,7 @@
             "jakub-onderka/php-parallel-lint": "0.9.2",
             "mediawiki/mediawiki-codesniffer": "0.4.0|0.5.0"
         },
-        "time": "2017-01-12 14:42:28",
+        "time": "2017-01-13 17:12:25",
         "type": "mediawiki-extension",
         "installation-source": "dist",
         "autoload": {

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4b7436067c353a850b201df24c79f465080da03a
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