jenkins-bot has submitted this change and it was merged.
Change subject: Wikibase: Item/ Property id values need separate validators
......................................................................
Wikibase: Item/ Property id values need separate validators
Change-Id: Ia1359482ea277a309cb01ed9ba2862870a7701fd
Contains: cb7a70e28f7d4ec9a89a07ee28826295fd5be1e3
---
M composer.lock
M extensions/Wikibase/repo/WikibaseRepo.datatypes.php
M extensions/Wikibase/repo/includes/ValidatorBuilders.php
M extensions/Wikibase/repo/tests/phpunit/includes/ValidatorBuildersTest.php
M vendor/composer/autoload_classmap.php
M vendor/composer/installed.json
6 files changed, 69 insertions(+), 12 deletions(-)
Approvals:
Hoo man: Looks good to me, approved
jenkins-bot: Verified
diff --git a/composer.lock b/composer.lock
index 27e3d7f..15372cf 100644
--- a/composer.lock
+++ b/composer.lock
@@ -1,10 +1,11 @@
{
"_readme": [
"This file locks the dependencies of your project to a known state",
- "Read more about it at
http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
+ "Read more about it at
https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"hash": "cbcf0e64ae2f82e4de441f12138a4181",
+ "content-hash": "ebf2d307a86a4c4c96b4fd1cceb577ab",
"packages": [
{
"name": "composer/installers",
@@ -1392,12 +1393,12 @@
"source": {
"type": "git",
"url":
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git",
- "reference": "b5418cd172537d1180f1d7dedc6319d15dc48bd0"
+ "reference": "cb7a70e28f7d4ec9a89a07ee28826295fd5be1e3"
},
"dist": {
"type": "zip",
- "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/b5418cd172537d1180f1d7dedc6319d15dc48bd0",
- "reference": "b5418cd172537d1180f1d7dedc6319d15dc48bd0",
+ "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/cb7a70e28f7d4ec9a89a07ee28826295fd5be1e3",
+ "reference": "cb7a70e28f7d4ec9a89a07ee28826295fd5be1e3",
"shasum": ""
},
"require": {
@@ -1468,7 +1469,7 @@
"wikibaserepo",
"wikidata"
],
- "time": "2015-12-09 15:36:56"
+ "time": "2015-12-09 22:35:46"
},
{
"name": "wikibase/wikimedia-badges",
diff --git a/extensions/Wikibase/repo/WikibaseRepo.datatypes.php
b/extensions/Wikibase/repo/WikibaseRepo.datatypes.php
index 2e8bdbd..75e5ae5 100644
--- a/extensions/Wikibase/repo/WikibaseRepo.datatypes.php
+++ b/extensions/Wikibase/repo/WikibaseRepo.datatypes.php
@@ -243,7 +243,7 @@
'VT:wikibase-entityid' => array(
'validator-factory-callback' => function() {
$factory =
WikibaseRepo::getDefaultValidatorBuilders();
- return $factory->buildItemValidators();
+ return $factory->buildEntityValidators();
},
'parser-factory-callback' => $newEntityIdParser,
'formatter-factory-callback' => function( $format,
FormatterOptions $options ) {
@@ -260,6 +260,18 @@
return new EntityIdRdfBuilder( $vocab, $tracker
);
},
),
+ 'PT:wikibase-item' => array(
+ 'validator-factory-callback' => function() {
+ $factory =
WikibaseRepo::getDefaultValidatorBuilders();
+ return $factory->buildItemValidators();
+ },
+ ),
+ 'PT:wikibase-property' => array(
+ 'validator-factory-callback' => function() {
+ $factory =
WikibaseRepo::getDefaultValidatorBuilders();
+ return $factory->buildPropertyValidators();
+ },
+ )
);
} );
diff --git a/extensions/Wikibase/repo/includes/ValidatorBuilders.php
b/extensions/Wikibase/repo/includes/ValidatorBuilders.php
index 963ee21..15fbf65 100644
--- a/extensions/Wikibase/repo/includes/ValidatorBuilders.php
+++ b/extensions/Wikibase/repo/includes/ValidatorBuilders.php
@@ -108,11 +108,18 @@
}
/**
- * @param string $entityType
+ * @return ValueValidator[]
+ */
+ public function buildEntityValidators() {
+ return $this->getEntityValidators();
+ }
+
+ /**
+ * @param string|null $entityType
*
* @return ValueValidator[]
*/
- private function getEntityValidators( $entityType ) {
+ private function getEntityValidators( $entityType = null ) {
$validators = array();
//NOTE: The DataValue in question is going to be an instance of
EntityId!
diff --git
a/extensions/Wikibase/repo/tests/phpunit/includes/ValidatorBuildersTest.php
b/extensions/Wikibase/repo/tests/phpunit/includes/ValidatorBuildersTest.php
index c74b5e3..66b328e 100644
--- a/extensions/Wikibase/repo/tests/phpunit/includes/ValidatorBuildersTest.php
+++ b/extensions/Wikibase/repo/tests/phpunit/includes/ValidatorBuildersTest.php
@@ -72,8 +72,15 @@
array( 'wikibase-item', new EntityIdValue( new ItemId(
'q3' ) ), false, 'missing entity' ),
array( 'wikibase-item', new EntityIdValue( new
PropertyId( 'p8' ) ), false, 'not an item' ),
+ // wikibase-property
array( 'wikibase-property', new EntityIdValue( new
PropertyId( 'p8' ) ), true, 'existing entity' ),
array( 'wikibase-property', new EntityIdValue( new
ItemId( 'q8' ) ), false, 'not a property' ),
+
+ // generic wikibase entity
+ array( 'wikibase-entity', new EntityIdValue( new
PropertyId( 'p8' ) ), true, 'existing entity' ),
+ array( 'wikibase-entity', new EntityIdValue( new
ItemId( 'q8' ) ), true, 'existing entity' ),
+ array( 'wikibase-entity', new EntityIdValue( new
ItemId( 'q3' ) ), false, 'missing entity' ),
+ array( 'wikibase-entity', new StringValue( 'q8' ),
false, 'Expected EntityId, StringValue supplied' ),
//commonsMedia
array( 'commonsMedia', 'Foo.jpg', false, 'StringValue
expected, string supplied' ),
@@ -269,6 +276,7 @@
'string' => array( $builders,
'buildStringValidators' ),
'time' => array( $builders,
'buildTimeValidators' ),
'url' => array( $builders,
'buildUrlValidators' ),
+ 'wikibase-entity' => array( $builders,
'buildEntityValidators' ),
'wikibase-item' => array( $builders,
'buildItemValidators' ),
'wikibase-property' => array( $builders,
'buildPropertyValidators' ),
);
diff --git a/vendor/composer/autoload_classmap.php
b/vendor/composer/autoload_classmap.php
index 7bcb3d6..617b346 100644
--- a/vendor/composer/autoload_classmap.php
+++ b/vendor/composer/autoload_classmap.php
@@ -254,6 +254,10 @@
'WikibaseQuality\\ConstraintReport\\ConstraintRepository' => $baseDir .
'/extensions/Constraints/includes/ConstraintRepository.php',
'WikibaseQuality\\ConstraintReport\\Maintenance\\UpdateConstraintsTable'
=> $baseDir . '/extensions/Constraints/maintenance/UpdateConstraintsTable.php',
'WikibaseQuality\\ConstraintReport\\Specials\\SpecialConstraintReport' =>
$baseDir . '/extensions/Constraints/specials/SpecialConstraintReport.php',
+ 'WikibaseQuality\\ConstraintReport\\Tests\\ConstraintRepositoryTest' =>
$baseDir . '/extensions/Constraints/tests/phpunit/ConstraintRepositoryTest.php',
+ 'WikibaseQuality\\ConstraintReport\\Tests\\ConstraintTest' => $baseDir .
'/extensions/Constraints/tests/phpunit/ConstraintTest.php',
+
'WikibaseQuality\\ConstraintReport\\Tests\\Maintenance\\UpdateConstraintsTableTest'
=> $baseDir .
'/extensions/Constraints/tests/phpunit/Maintenance/UpdateConstraintsTableTest.php',
+
'WikibaseQuality\\ConstraintReport\\Tests\\Specials\\SpecialConstraintReport\\SpecialConstraintReportTest'
=> $baseDir .
'/extensions/Constraints/tests/phpunit/Specials/SpecialConstraintReportTest.php',
'WikibaseQuality\\Html\\HtmlTableBuilder' => $baseDir .
'/extensions/Quality/includes/Html/HtmlTableBuilder.php',
'WikibaseQuality\\Html\\HtmlTableCellBuilder' => $baseDir .
'/extensions/Quality/includes/Html/HtmlTableCellBuilder.php',
'WikibaseQuality\\Html\\HtmlTableHeaderBuilder' => $baseDir .
'/extensions/Quality/includes/Html/HtmlTableHeaderBuilder.php',
@@ -1407,6 +1411,24 @@
'Wikibase\\View\\Template\\Template' => $baseDir .
'/extensions/Wikibase/view/src/Template/Template.php',
'Wikibase\\View\\Template\\TemplateFactory' => $baseDir .
'/extensions/Wikibase/view/src/Template/TemplateFactory.php',
'Wikibase\\View\\Template\\TemplateRegistry' => $baseDir .
'/extensions/Wikibase/view/src/Template/TemplateRegistry.php',
+ 'Wikibase\\View\\Tests\\ClaimHtmlGeneratorTest' => $baseDir .
'/extensions/Wikibase/view/tests/phpunit/ClaimHtmlGeneratorTest.php',
+ 'Wikibase\\View\\Tests\\EmptyEditSectionGeneratorTest' => $baseDir .
'/extensions/Wikibase/view/tests/phpunit/EmptyEditSectionGeneratorTest.php',
+ 'Wikibase\\View\\Tests\\EntityTermsViewTest' => $baseDir .
'/extensions/Wikibase/view/tests/phpunit/EntityTermsViewTest.php',
+ 'Wikibase\\View\\Tests\\EntityViewFactoryTest' => $baseDir .
'/extensions/Wikibase/view/tests/phpunit/EntityViewFactoryTest.php',
+ 'Wikibase\\View\\Tests\\EntityViewPlaceholderExpanderTest' => $baseDir .
'/extensions/Wikibase/view/tests/phpunit/EntityViewPlaceholderExpanderTest.php',
+ 'Wikibase\\View\\Tests\\EntityViewTest' => $baseDir .
'/extensions/Wikibase/view/tests/phpunit/EntityViewTest.php',
+ 'Wikibase\\View\\Tests\\ItemViewTest' => $baseDir .
'/extensions/Wikibase/view/tests/phpunit/ItemViewTest.php',
+ 'Wikibase\\View\\Tests\\Module\\TemplateModuleTest' => $baseDir .
'/extensions/Wikibase/view/tests/phpunit/Module/TemplateModuleTest.php',
+ 'Wikibase\\View\\Tests\\PropertyViewTest' => $baseDir .
'/extensions/Wikibase/view/tests/phpunit/PropertyViewTest.php',
+ 'Wikibase\\View\\Tests\\SiteLinksViewTest' => $baseDir .
'/extensions/Wikibase/view/tests/phpunit/SiteLinksViewTest.php',
+ 'Wikibase\\View\\Tests\\SnakHtmlGeneratorTest' => $baseDir .
'/extensions/Wikibase/view/tests/phpunit/SnakHtmlGeneratorTest.php',
+ 'Wikibase\\View\\Tests\\StatementGroupListViewTest' => $baseDir .
'/extensions/Wikibase/view/tests/phpunit/StatementGroupListViewTest.php',
+ 'Wikibase\\View\\Tests\\StatementSectionsViewTest' => $baseDir .
'/extensions/Wikibase/view/tests/phpunit/StatementSectionsViewTest.php',
+ 'Wikibase\\View\\Tests\\Template\\TemplateFactoryTest' => $baseDir .
'/extensions/Wikibase/view/tests/phpunit/Template/TemplateFactoryTest.php',
+ 'Wikibase\\View\\Tests\\Template\\TemplateRegistryTest' => $baseDir .
'/extensions/Wikibase/view/tests/phpunit/Template/TemplateRegistryTest.php',
+ 'Wikibase\\View\\Tests\\Template\\TemplateTest' => $baseDir .
'/extensions/Wikibase/view/tests/phpunit/Template/TemplateTest.php',
+ 'Wikibase\\View\\Tests\\TextInjectorTest' => $baseDir .
'/extensions/Wikibase/view/tests/phpunit/TextInjectorTest.php',
+ 'Wikibase\\View\\Tests\\ToolbarEditSectionGeneratorTest' => $baseDir .
'/extensions/Wikibase/view/tests/phpunit/ToolbarEditSectionGeneratorTest.php',
'Wikibase\\View\\TextInjector' => $baseDir .
'/extensions/Wikibase/view/src/TextInjector.php',
'Wikibase\\View\\ToolbarEditSectionGenerator' => $baseDir .
'/extensions/Wikibase/view/src/ToolbarEditSectionGenerator.php',
'Wikibase\\WikibaseDiffOpFactory' => $baseDir .
'/extensions/Wikibase/lib/includes/WikibaseDiffOpFactory.php',
@@ -1422,7 +1444,14 @@
'Wikimedia\\Purtle\\RdfWriter' => $baseDir .
'/extensions/Wikibase/purtle/src/RdfWriter.php',
'Wikimedia\\Purtle\\RdfWriterBase' => $baseDir .
'/extensions/Wikibase/purtle/src/RdfWriterBase.php',
'Wikimedia\\Purtle\\RdfWriterFactory' => $baseDir .
'/extensions/Wikibase/purtle/src/RdfWriterFactory.php',
+ 'Wikimedia\\Purtle\\Tests\\BNodeLabelerTest' => $baseDir .
'/extensions/Wikibase/purtle/tests/phpunit/BNodeLabelerTest.php',
+ 'Wikimedia\\Purtle\\Tests\\N3QuoterTest' => $baseDir .
'/extensions/Wikibase/purtle/tests/phpunit/N3QuoterTest.php',
+ 'Wikimedia\\Purtle\\Tests\\NTriplesRdfWriterTest' => $baseDir .
'/extensions/Wikibase/purtle/tests/phpunit/NTriplesRdfWriterTest.php',
+ 'Wikimedia\\Purtle\\Tests\\RdfWriterFactoryTest' => $baseDir .
'/extensions/Wikibase/purtle/tests/phpunit/RdfWriterFactoryTest.php',
'Wikimedia\\Purtle\\Tests\\RdfWriterTestBase' => $baseDir .
'/extensions/Wikibase/purtle/tests/phpunit/RdfWriterTestBase.php',
+ 'Wikimedia\\Purtle\\Tests\\TurtleRdfWriterTest' => $baseDir .
'/extensions/Wikibase/purtle/tests/phpunit/TurtleRdfWriterTest.php',
+ 'Wikimedia\\Purtle\\Tests\\UnicodeEscaperTest' => $baseDir .
'/extensions/Wikibase/purtle/tests/phpunit/UnicodeEscaperTest.php',
+ 'Wikimedia\\Purtle\\Tests\\XmlRdfWriterTest' => $baseDir .
'/extensions/Wikibase/purtle/tests/phpunit/XmlRdfWriterTest.php',
'Wikimedia\\Purtle\\TurtleRdfWriter' => $baseDir .
'/extensions/Wikibase/purtle/src/TurtleRdfWriter.php',
'Wikimedia\\Purtle\\UnicodeEscaper' => $baseDir .
'/extensions/Wikibase/purtle/src/UnicodeEscaper.php',
'Wikimedia\\Purtle\\XmlRdfWriter' => $baseDir .
'/extensions/Wikibase/purtle/src/XmlRdfWriter.php',
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index bd7bb41..0dbaaeb 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -1480,12 +1480,12 @@
"source": {
"type": "git",
"url":
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git",
- "reference": "b5418cd172537d1180f1d7dedc6319d15dc48bd0"
+ "reference": "cb7a70e28f7d4ec9a89a07ee28826295fd5be1e3"
},
"dist": {
"type": "zip",
- "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/b5418cd172537d1180f1d7dedc6319d15dc48bd0",
- "reference": "b5418cd172537d1180f1d7dedc6319d15dc48bd0",
+ "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/cb7a70e28f7d4ec9a89a07ee28826295fd5be1e3",
+ "reference": "cb7a70e28f7d4ec9a89a07ee28826295fd5be1e3",
"shasum": ""
},
"require": {
@@ -1517,7 +1517,7 @@
"jakub-onderka/php-parallel-lint": "0.9",
"mediawiki/mediawiki-codesniffer": "0.4.0|0.5.0"
},
- "time": "2015-12-09 15:36:56",
+ "time": "2015-12-09 22:35:46",
"type": "mediawiki-extension",
"installation-source": "dist",
"autoload": {
--
To view, visit https://gerrit.wikimedia.org/r/258060
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ia1359482ea277a309cb01ed9ba2862870a7701fd
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikidata
Gerrit-Branch: wmf/1.27.0-wmf.8
Gerrit-Owner: Hoo man <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Aude <[email protected]>
Gerrit-Reviewer: Hoo man <[email protected]>
Gerrit-Reviewer: Tobias Gritschacher <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits