Aude has uploaded a new change for review. https://gerrit.wikimedia.org/r/254175
Change subject: Update Wikidata - Adjust watchlist filter for changes in core ...................................................................... Update Wikidata - Adjust watchlist filter for changes in core Bug: T118459 Change-Id: I1fb2cb0eb19ede6c66eae79aab3e78a922d62dd5 --- M composer.lock M extensions/Wikibase/client/includes/Hooks/ChangesListSpecialPageFilterHandler.php M extensions/Wikibase/client/tests/phpunit/includes/Hooks/ChangesListSpecialPageFilterHandlerTest.php A vendor/composer/LICENSE M vendor/composer/autoload_classmap.php M vendor/composer/installed.json 6 files changed, 200 insertions(+), 113 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikidata refs/changes/75/254175/1 diff --git a/composer.lock b/composer.lock index b5dbac7..c8d767e 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": "cf6de7c43cfa96789a76010b9efb9624", + "content-hash": "a197493ae53db2fe47342c327ff12e88", "packages": [ { "name": "composer/installers", @@ -1392,12 +1393,12 @@ "source": { "type": "git", "url": "https://github.com/wikimedia/mediawiki-extensions-Wikibase.git", - "reference": "f8b52fab04969021e586fb406c588ac7bfa767a4" + "reference": "d34a715ca479898ea2de4391df66fc782da4da25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/f8b52fab04969021e586fb406c588ac7bfa767a4", - "reference": "f8b52fab04969021e586fb406c588ac7bfa767a4", + "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/d34a715ca479898ea2de4391df66fc782da4da25", + "reference": "d34a715ca479898ea2de4391df66fc782da4da25", "shasum": "" }, "require": { @@ -1467,7 +1468,7 @@ "wikibaserepo", "wikidata" ], - "time": "2015-11-17 11:24:50" + "time": "2015-11-19 18:07:53" }, { "name": "wikibase/wikimedia-badges", @@ -1509,7 +1510,7 @@ "support": { "irc": "irc://irc.freenode.net/wikidata" }, - "time": "2015-08-12 09:30:01" + "time": "2015-08-04 17:18:47" } ], "packages-dev": [], diff --git a/extensions/Wikibase/client/includes/Hooks/ChangesListSpecialPageFilterHandler.php b/extensions/Wikibase/client/includes/Hooks/ChangesListSpecialPageFilterHandler.php index 0b0ecad..04bbc18 100644 --- a/extensions/Wikibase/client/includes/Hooks/ChangesListSpecialPageFilterHandler.php +++ b/extensions/Wikibase/client/includes/Hooks/ChangesListSpecialPageFilterHandler.php @@ -96,10 +96,12 @@ */ public function addFilterIfEnabled( array &$filters ) { if ( $this->shouldAddFilter() ) { - // if preference enabled, then Wikibase edits are included by default and - // the toggle default value needs to be the inverse to hide them, and vice versa. - $toggleDefault = !$this->hasShowWikibaseEditsPrefEnabled(); - $this->addFilter( $filters, $toggleDefault ); + $filterName = $this->getFilterName(); + + $filters[$filterName] = array( + 'msg' => 'wikibase-rc-hide-wikidata', + 'default' => $this->getToggleDefault() + ); } } @@ -111,16 +113,16 @@ } /** - * @param array &$filters - * @param bool $toggleDefault + * @return bool */ - private function addFilter( array &$filters, $toggleDefault ) { - $filterName = $this->getFilterName(); + private function getToggleDefault() { + if ( $this->request->getVal( 'action' ) === 'submit' ) { + return $this->request->getBool( $this->getFilterName() ); + } - $filters[$filterName] = array( - 'msg' => 'wikibase-rc-hide-wikidata', - 'default' => $toggleDefault - ); + // if preference enabled, then Wikibase edits are included by default and + // the toggle default value needs to be the inverse to hide them, and vice versa. + return !$this->hasShowWikibaseEditsPrefEnabled(); } /** diff --git a/extensions/Wikibase/client/tests/phpunit/includes/Hooks/ChangesListSpecialPageFilterHandlerTest.php b/extensions/Wikibase/client/tests/phpunit/includes/Hooks/ChangesListSpecialPageFilterHandlerTest.php index eb18101..a5e9f2c 100644 --- a/extensions/Wikibase/client/tests/phpunit/includes/Hooks/ChangesListSpecialPageFilterHandlerTest.php +++ b/extensions/Wikibase/client/tests/phpunit/includes/Hooks/ChangesListSpecialPageFilterHandlerTest.php @@ -78,12 +78,13 @@ } /** - * @dataProvider filterAddedWhenNotUsingEnhancedChangesProvider + * @dataProvider filter_withoutShowWikibaseEditsByDefaultPreference */ - public function testFilterAddedWhenNotUsingEnhancedChanges_notShowWikibaseEditsByDefault( + public function testFilter_withoutShowWikibaseEditsByDefaultPreference( array $requestParams, array $userPreferences, $expectedFilterName, + $expectedToggleDefault, $specialPageName ) { $hookHandler = new ChangesListSpecialPageFilterHandler( @@ -99,46 +100,72 @@ $expected = array( $expectedFilterName => array( 'msg' => 'wikibase-rc-hide-wikidata', - 'default' => true + 'default' => $expectedToggleDefault ) ); $this->assertSame( $expected, $filters ); } - public function filterAddedWhenNotUsingEnhancedChangesProvider() { + public function filter_withoutShowWikibaseEditsByDefaultPreference() { return array( array( array(), array( 'usenewrc' => 0 ), 'hideWikibase', + true, 'Watchlist' ), array( array( 'enhanced' => 0 ), array( 'usenewrc' => 1 ), 'hidewikidata', + true, 'RecentChanges' ), array( array(), array( 'usenewrc' => 0 ), 'hidewikidata', + true, 'RecentChangesLinked' + ), + array( + array( 'action' => 'submit', 'hideWikibase' => 0 ), + array( 'usenewrc' => 0 ), + 'hideWikibase', + false, + 'Watchlist' + ), + array( + array( 'action' => 'submit', 'hideWikibase' => 1 ), + array( 'usenewrc' => 0 ), + 'hideWikibase', + true, + 'Watchlist' + ), + array( + array( 'action' => 'submit' ), + array( 'usenewrc' => 0 ), + 'hideWikibase', + false, + 'Watchlist' ) ); } /** - * @dataProvider filterAddedInNonEnhanced_withPrefToShowWikibaseEditsByDefaultProvider + * @dataProvider filter_withShowWikibaseEditsByDefaultPreference */ - public function testFilterAddedInNonEnhanced_withPrefToShowWikibaseEditsByDefault( + public function testFilter_withShowWikibaseEditsByDefaultPreference( + array $requestParams, array $userPreferences, $expectedFilterName, + $expectedToggleDefault, $specialPageName ) { $hookHandler = new ChangesListSpecialPageFilterHandler( - $this->getRequest( array() ), + $this->getRequest( $requestParams ), $this->getUser( $userPreferences ), $specialPageName, true @@ -150,24 +177,49 @@ $expected = array( $expectedFilterName => array( 'msg' => 'wikibase-rc-hide-wikidata', - 'default' => false + 'default' => $expectedToggleDefault ) ); $this->assertSame( $expected, $filters ); } - public function filterAddedInNonEnhanced_withPrefToShowWikibaseEditsByDefaultProvider() { + public function filter_withShowWikibaseEditsByDefaultPreference() { return array( array( + array(), array( 'wlshowwikibase' => 1, 'usenewrc' => 0 ), 'hideWikibase', + false, 'Watchlist' ), array( + array( 'enhanced' => 0 ), + array( 'rcshowwikidata' => 1, 'usenewrc' => 1 ), + 'hidewikidata', + false, + 'RecentChanges' + ), + array( + array(), array( 'rcshowwikidata' => 1, 'usenewrc' => 0 ), 'hidewikidata', - 'RecentChanges' + false, + 'RecentChangesLinked' + ), + array( + array( 'action' => 'submit', 'hideWikibase' => 0 ), + array( 'wlshowwikibase' => 1, 'usenewrc' => 0 ), + 'hideWikibase', + false, + 'Watchlist' + ), + array( + array( 'action' => 'submit' ), + array( 'wlshowwikibase' => 1, 'usenewrc' => 0 ), + 'hideWikibase', + false, + 'Watchlist' ) ); } diff --git a/vendor/composer/LICENSE b/vendor/composer/LICENSE new file mode 100644 index 0000000..c8d57af --- /dev/null +++ b/vendor/composer/LICENSE @@ -0,0 +1,21 @@ + +Copyright (c) 2015 Nils Adermann, Jordi Boggiano + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index 744881f..35ce359 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', @@ -1399,7 +1403,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 9cc3d00..d0f128b 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -1230,91 +1230,6 @@ ] }, { - "name": "wikibase/wikibase", - "version": "dev-wmf/1.27.0-wmf.7", - "version_normalized": "dev-wmf/1.27.0-wmf.7", - "source": { - "type": "git", - "url": "https://github.com/wikimedia/mediawiki-extensions-Wikibase.git", - "reference": "f8b52fab04969021e586fb406c588ac7bfa767a4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/f8b52fab04969021e586fb406c588ac7bfa767a4", - "reference": "f8b52fab04969021e586fb406c588ac7bfa767a4", - "shasum": "" - }, - "require": { - "data-values/common": "~0.3.0", - "data-values/data-types": "~0.5.0", - "data-values/data-values": "~1.0", - "data-values/geo": "~1.0", - "data-values/interfaces": "~0.2.0|~0.1.5", - "data-values/javascript": "~0.6.0|~0.7.0", - "data-values/number": "~0.6.0", - "data-values/serialization": "~1.0", - "data-values/time": "~0.8.2", - "data-values/validators": "~0.1.0", - "data-values/value-view": "~0.15.6", - "diff/diff": "~2.0", - "php": ">=5.3.2", - "wikibase/data-model": "~4.0", - "wikibase/data-model-javascript": "^1.0.2", - "wikibase/data-model-serialization": "~2.0", - "wikibase/data-model-services": "^3.0.0", - "wikibase/internal-serialization": "~2.0", - "wikibase/javascript-api": "~1.0", - "wikibase/serialization-javascript": "~2.0" - }, - "conflict": { - "mediawiki/mediawiki": "<1.25" - }, - "require-dev": { - "jakub-onderka/php-parallel-lint": "0.9", - "mediawiki/mediawiki-codesniffer": "0.4.0|0.5.0" - }, - "time": "2015-11-17 11:24:50", - "type": "mediawiki-extension", - "installation-source": "dist", - "autoload": { - "classmap": [ - "client/includes/", - "client/WikibaseClient.hooks.php", - "client/tests/phpunit/", - "lib/includes/", - "lib/WikibaseLib.hooks.php", - "lib/tests/phpunit/", - "repo/includes/", - "repo/maintenance/", - "repo/tests/phpunit/", - "repo/Wikibase.hooks.php" - ], - "psr-4": { - "Wikibase\\View\\": "view/src", - "Wikimedia\\Purtle\\": "purtle/src", - "Wikimedia\\Purtle\\Tests\\": "purtle/tests/phpunit" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0+" - ], - "authors": [ - { - "name": "The Wikidata team" - } - ], - "description": "Structured data repository for MediaWiki", - "homepage": "http://wikiba.se", - "keywords": [ - "wikibase", - "wikibaseclient", - "wikibaselib", - "wikibaserepo", - "wikidata" - ] - }, - { "name": "wikibase/wikimedia-badges", "version": "dev-master", "version_normalized": "9999999-dev", @@ -1557,5 +1472,90 @@ "support": { "issues": "https://phabricator.wikimedia.org/project/profile/1202/" } + }, + { + "name": "wikibase/wikibase", + "version": "dev-wmf/1.27.0-wmf.7", + "version_normalized": "dev-wmf/1.27.0-wmf.7", + "source": { + "type": "git", + "url": "https://github.com/wikimedia/mediawiki-extensions-Wikibase.git", + "reference": "d34a715ca479898ea2de4391df66fc782da4da25" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/d34a715ca479898ea2de4391df66fc782da4da25", + "reference": "d34a715ca479898ea2de4391df66fc782da4da25", + "shasum": "" + }, + "require": { + "data-values/common": "~0.3.0", + "data-values/data-types": "~0.5.0", + "data-values/data-values": "~1.0", + "data-values/geo": "~1.0", + "data-values/interfaces": "~0.2.0|~0.1.5", + "data-values/javascript": "~0.6.0|~0.7.0", + "data-values/number": "~0.6.0", + "data-values/serialization": "~1.0", + "data-values/time": "~0.8.2", + "data-values/validators": "~0.1.0", + "data-values/value-view": "~0.15.6", + "diff/diff": "~2.0", + "php": ">=5.3.2", + "wikibase/data-model": "~4.0", + "wikibase/data-model-javascript": "^1.0.2", + "wikibase/data-model-serialization": "~2.0", + "wikibase/data-model-services": "^3.0.0", + "wikibase/internal-serialization": "~2.0", + "wikibase/javascript-api": "~1.0", + "wikibase/serialization-javascript": "~2.0" + }, + "conflict": { + "mediawiki/mediawiki": "<1.25" + }, + "require-dev": { + "jakub-onderka/php-parallel-lint": "0.9", + "mediawiki/mediawiki-codesniffer": "0.4.0|0.5.0" + }, + "time": "2015-11-19 18:07:53", + "type": "mediawiki-extension", + "installation-source": "dist", + "autoload": { + "classmap": [ + "client/includes/", + "client/WikibaseClient.hooks.php", + "client/tests/phpunit/", + "lib/includes/", + "lib/WikibaseLib.hooks.php", + "lib/tests/phpunit/", + "repo/includes/", + "repo/maintenance/", + "repo/tests/phpunit/", + "repo/Wikibase.hooks.php" + ], + "psr-4": { + "Wikibase\\View\\": "view/src", + "Wikimedia\\Purtle\\": "purtle/src", + "Wikimedia\\Purtle\\Tests\\": "purtle/tests/phpunit" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0+" + ], + "authors": [ + { + "name": "The Wikidata team" + } + ], + "description": "Structured data repository for MediaWiki", + "homepage": "http://wikiba.se", + "keywords": [ + "wikibase", + "wikibaseclient", + "wikibaselib", + "wikibaserepo", + "wikidata" + ] } ] -- To view, visit https://gerrit.wikimedia.org/r/254175 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I1fb2cb0eb19ede6c66eae79aab3e78a922d62dd5 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikidata Gerrit-Branch: wmf/1.27.0-wmf.7 Gerrit-Owner: Aude <aude.w...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits