jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/402468 )
Change subject: Namespace this extension and move into includes ...................................................................... Namespace this extension and move into includes Also take advantage of Maintenance::requireExtension() instead of checking for an explicit class name. Change-Id: If19086e80f3f04bc677fc95de3416d0ad2352fb2 --- M .phpcs.xml M extension.json R includes/Hooks.php R includes/ResourceLoaderGlobalModule.php R includes/ResourceLoaderGlobalSiteModule.php R includes/ResourceLoaderGlobalUserModule.php M maintenance/removeOldManualUserPages.php M tests/phpunit/RemoveOldManualUserPagesTest.php M tests/phpunit/ResourceLoaderGlobalModuleTest.php M tests/phpunit/ResourceLoaderGlobalModuleTestCase.php M tests/phpunit/ResourceLoaderGlobalSiteModuleTest.php M tests/phpunit/ResourceLoaderGlobalUserModuleTest.php 12 files changed, 101 insertions(+), 39 deletions(-) Approvals: Ladsgroup: Looks good to me, approved jenkins-bot: Verified diff --git a/.phpcs.xml b/.phpcs.xml index 5f94480..1f6d143 100644 --- a/.phpcs.xml +++ b/.phpcs.xml @@ -7,9 +7,6 @@ <exclude name="MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment" /> <exclude name="Squiz.Scope.MethodScope.Missing" /> </rule> - <rule ref="MediaWiki.Files.ClassMatchesFilename.WrongCase"> - <exclude-pattern>*/maintenance/*</exclude-pattern> - </rule> <file>.</file> <arg name="extensions" value="php,php5,inc" /> <arg name="encoding" value="UTF-8" /> diff --git a/extension.json b/extension.json index 416a70f..b077f1a 100644 --- a/extension.json +++ b/extension.json @@ -1,6 +1,6 @@ { "name": "GlobalCssJs", - "version": "3.3.0", + "version": "3.4.0", "author": [ "Ryan Schmidt", "Szymon Ćwierkosz", @@ -12,21 +12,13 @@ "license-name": "GPL-2.0+", "type": "other", "requires": { - "MediaWiki": ">= 1.27.0" + "MediaWiki": ">= 1.31.0" }, "Hooks": { - "BeforePageDisplay": [ - "GlobalCssJsHooks::onBeforePageDisplay" - ], - "ResourceLoaderRegisterModules": [ - "GlobalCssJsHooks::onResourceLoaderRegisterModules" - ], - "EditPage::showEditForm:initial": [ - "GlobalCssJsHooks::onEditPageshowEditForminitial" - ], - "GetPreferences": [ - "GlobalCssJsHooks::onGetPreferences" - ] + "BeforePageDisplay": "MediaWiki\\GlobalCssJs\\Hooks::onBeforePageDisplay", + "ResourceLoaderRegisterModules": "MediaWiki\\GlobalCssJs\\Hooks::onResourceLoaderRegisterModules", + "EditPage::showEditForm:initial": "MediaWiki\\GlobalCssJs\\Hooks::onEditPageshowEditForminitial", + "GetPreferences": "MediaWiki\\GlobalCssJs\\Hooks::onGetPreferences" }, "MessagesDirs": { "GlobalCssJs": [ @@ -46,15 +38,13 @@ "ext.globalCssJs.user" ], "ExtensionFunctions": [ - "GlobalCssJsHooks::onExtensionFunctions" + "MediaWiki\\GlobalCssJs\\Hooks::onExtensionFunctions" ], + "AutoloadNamespaces": { + "MediaWiki\\GlobalCssJs\\": "includes/" + }, "AutoloadClasses": { - "ResourceLoaderGlobalModule": "ResourceLoaderGlobalModule.php", - "ResourceLoaderGlobalSiteModule": "ResourceLoaderGlobalSiteModule.php", - "ResourceLoaderGlobalUserModule": "ResourceLoaderGlobalUserModule.php", - "GlobalCssJsHooks": "GlobalCssJsHooks.php", - "ResourceLoaderGlobalModuleTestCase": "tests/phpunit/ResourceLoaderGlobalModuleTestCase.php", - "RemoveOldManualUserPages": "maintenance/removeOldManualUserPages.php" + "MediaWiki\\GlobalCssJs\\Test\\ResourceLoaderGlobalModuleTestCase": "tests/phpunit/ResourceLoaderGlobalModuleTestCase.php" }, "ConfigRegistry": { "globalcssjs": "GlobalVarConfig::newInstance" diff --git a/GlobalCssJsHooks.php b/includes/Hooks.php similarity index 96% rename from GlobalCssJsHooks.php rename to includes/Hooks.php index fe6efb7..e863979 100644 --- a/GlobalCssJsHooks.php +++ b/includes/Hooks.php @@ -1,6 +1,19 @@ <?php -class GlobalCssJsHooks { +namespace MediaWiki\GlobalCssJs; + +use CentralIdLookup; +use ConfigFactory; +use EditPage; +use Linker; +use OutputPage; +use RequestContext; +use ResourceLoader; +use Title; +use User; +use WikiMap; + +class Hooks { private static function getConfig() { return ConfigFactory::getDefaultInstance()->makeConfig( 'globalcssjs' ); diff --git a/ResourceLoaderGlobalModule.php b/includes/ResourceLoaderGlobalModule.php similarity index 94% rename from ResourceLoaderGlobalModule.php rename to includes/ResourceLoaderGlobalModule.php index c8f0050..1e87370 100644 --- a/ResourceLoaderGlobalModule.php +++ b/includes/ResourceLoaderGlobalModule.php @@ -20,6 +20,12 @@ * @author Kunal Mehta */ +namespace MediaWiki\GlobalCssJs; + +use IDatabase; +use InvalidArgumentException; +use ResourceLoaderWikiModule; + /** * Base class for global modules. * diff --git a/ResourceLoaderGlobalSiteModule.php b/includes/ResourceLoaderGlobalSiteModule.php similarity index 95% rename from ResourceLoaderGlobalSiteModule.php rename to includes/ResourceLoaderGlobalSiteModule.php index da58639..acd5a89 100644 --- a/ResourceLoaderGlobalSiteModule.php +++ b/includes/ResourceLoaderGlobalSiteModule.php @@ -21,6 +21,11 @@ * @author Kunal Mehta */ +namespace MediaWiki\GlobalCssJs; + +use ConfigFactory; +use ResourceLoaderContext; + /** * Module for sitewide global customizations */ diff --git a/ResourceLoaderGlobalUserModule.php b/includes/ResourceLoaderGlobalUserModule.php similarity index 94% rename from ResourceLoaderGlobalUserModule.php rename to includes/ResourceLoaderGlobalUserModule.php index 8dc98c3..533b6f6 100644 --- a/ResourceLoaderGlobalUserModule.php +++ b/includes/ResourceLoaderGlobalUserModule.php @@ -22,6 +22,11 @@ * @author Kunal Mehta */ +namespace MediaWiki\GlobalCssJs; + +use ResourceLoaderContext; +use User; + /** * Module for user customizations - runs on all wikis */ @@ -47,7 +52,7 @@ return []; } - if ( !GlobalCssJsHooks::loadForUser( $user ) ) { + if ( !Hooks::loadForUser( $user ) ) { return []; } diff --git a/maintenance/removeOldManualUserPages.php b/maintenance/removeOldManualUserPages.php index 4b9e4a4..ed1b07f 100644 --- a/maintenance/removeOldManualUserPages.php +++ b/maintenance/removeOldManualUserPages.php @@ -1,5 +1,18 @@ <?php +namespace MediaWiki\GlobalCssJs; + +use CssContent; +use JavaScriptContent; +use LinkBatch; +use Maintenance; +use ResourceLoader; +use Revision; +use Skin; +use Title; +use User; +use WikiPage; + $IP = getenv( 'MW_INSTALL_PATH' ); if ( $IP === false ) { $IP = __DIR__ . '/../../..'; @@ -25,17 +38,15 @@ $this->addOption( 'user', 'User name', true, true ); $this->addOption( 'ignorerevisionlimit', 'Whether to ignore the 1 revision limit', false, false ); + $this->requireExtension( 'GlobalCssJs' ); } public function execute() { $this->ignoreRevisionLimit = $this->hasOption( 'ignorerevisionlimit' ); $userName = $this->getOption( 'user' ); $user = User::newFromName( $userName ); - if ( !class_exists( 'GlobalCssJsHooks' ) ) { - $this->error( 'The GlobalCssJs extension is not enabled on this wiki.', 1 ); - } - if ( !$user->getId() || !GlobalCssJsHooks::loadForUser( $user ) ) { + if ( !$user->getId() || !Hooks::loadForUser( $user ) ) { $this->output( "$userName does not load global modules on this wiki.\n" ); return; } @@ -213,5 +224,5 @@ } -$maintClass = "RemoveOldManualUserPages"; +$maintClass = RemoveOldManualUserPages::class; require_once RUN_MAINTENANCE_IF_MAIN; diff --git a/tests/phpunit/RemoveOldManualUserPagesTest.php b/tests/phpunit/RemoveOldManualUserPagesTest.php index ac29962..2365f45 100644 --- a/tests/phpunit/RemoveOldManualUserPagesTest.php +++ b/tests/phpunit/RemoveOldManualUserPagesTest.php @@ -1,5 +1,12 @@ <?php +namespace MediaWiki\GlobalCssJs\Test; + +use MediaWiki\GlobalCssJs\RemoveOldManualUserPages; +use MediaWikiTestCase; + +require_once __DIR__ . '/../../maintenance/removeOldManualUserPages.php'; + class RemoveOldManualUserPagesTest extends MediaWikiTestCase { public static function provideCheckJs() { @@ -134,7 +141,7 @@ } /** - * @covers RemoveOldManualUserPages::checkJs + * @covers \MediaWiki\GlobalCssJs\RemoveOldManualUserPages::checkJs * @dataProvider provideCheckJs * @param string $text page content * @param bool $expected should it match? @@ -183,7 +190,7 @@ } /** - * @covers RemoveOldManualUserPages::checkCss + * @covers \MediaWiki\GlobalCssJs\RemoveOldManualUserPages::checkCss * @dataProvider provideCheckCss * @param string $text page content * @param bool $expected should it match? @@ -221,7 +228,7 @@ } /** - * @covers RemoveOldManualUserPages::normalizeUserName + * @covers \MediaWiki\GlobalCssJs\RemoveOldManualUserPages::normalizeUserName * @dataProvider provideNormalizeUserName */ public function testNormalizeUserName( $name, $expected, $desc ) { diff --git a/tests/phpunit/ResourceLoaderGlobalModuleTest.php b/tests/phpunit/ResourceLoaderGlobalModuleTest.php index ffce952..1d83432 100644 --- a/tests/phpunit/ResourceLoaderGlobalModuleTest.php +++ b/tests/phpunit/ResourceLoaderGlobalModuleTest.php @@ -1,9 +1,14 @@ <?php +namespace MediaWiki\GlobalCssJs\Test; + +use MediaWiki\GlobalCssJs\ResourceLoaderGlobalModule; +use MediaWikiTestCase; + class ResourceLoaderGlobalModuleTest extends MediaWikiTestCase { /** - * @covers ResourceLoaderGlobalModule::getSource + * @covers \MediaWiki\GlobalCssJs\ResourceLoaderGlobalModule::getSource * @dataProvider provideGetSource */ public function testGetSource( $params, $expected ) { @@ -13,7 +18,10 @@ ] ); /** @var ResourceLoaderGlobalModule $module */ - $module = $this->getMockForAbstractClass( 'ResourceLoaderGlobalModule', [ $params ] ); + $module = $this->getMockForAbstractClass( + ResourceLoaderGlobalModule::class, + [ $params ] + ); $this->assertEquals( $expected, $module->getSource() ); } diff --git a/tests/phpunit/ResourceLoaderGlobalModuleTestCase.php b/tests/phpunit/ResourceLoaderGlobalModuleTestCase.php index 07a5c03..23e1afb 100644 --- a/tests/phpunit/ResourceLoaderGlobalModuleTestCase.php +++ b/tests/phpunit/ResourceLoaderGlobalModuleTestCase.php @@ -1,5 +1,14 @@ <?php +namespace MediaWiki\GlobalCssJs\Test; + +use ConfigFactory; +use FauxRequest; +use MediaWikiTestCase; +use ResourceLoader; +use ResourceLoaderContext; +use ResourceLoaderModule; + /** * Helper class to provide some useful functions when testing * subclasses of ResourceLoaderGlobalModule @@ -52,7 +61,7 @@ protected function getFakeOptions() { return [ - 'wiki' => wfWikiID(), // Don't call GlobalCssJsHooks::loadForUser + 'wiki' => wfWikiID(), // Don't call Hooks::loadForUser 'source' => 'fakesource', ]; } diff --git a/tests/phpunit/ResourceLoaderGlobalSiteModuleTest.php b/tests/phpunit/ResourceLoaderGlobalSiteModuleTest.php index 8d12aff..0ecbff1 100644 --- a/tests/phpunit/ResourceLoaderGlobalSiteModuleTest.php +++ b/tests/phpunit/ResourceLoaderGlobalSiteModuleTest.php @@ -1,5 +1,10 @@ <?php +namespace MediaWiki\GlobalCssJs\Test; + +use MediaWiki\GlobalCssJs\ResourceLoaderGlobalSiteModule; +use ReflectionMethod; + class ResourceLoaderGlobalSiteModuleTest extends ResourceLoaderGlobalModuleTestCase { public static function provideGetPages() { @@ -91,7 +96,7 @@ } /** - * @covers ResourceLoaderGlobalSiteModule::getPages + * @covers \MediaWiki\GlobalCssJs\ResourceLoaderGlobalSiteModule::getPages * @dataProvider provideGetPages * @param $type * @param $configOverrides diff --git a/tests/phpunit/ResourceLoaderGlobalUserModuleTest.php b/tests/phpunit/ResourceLoaderGlobalUserModuleTest.php index 284687e..6432fec 100644 --- a/tests/phpunit/ResourceLoaderGlobalUserModuleTest.php +++ b/tests/phpunit/ResourceLoaderGlobalUserModuleTest.php @@ -1,5 +1,11 @@ <?php +namespace MediaWiki\GlobalCssJs\Test; + +use MediaWiki\GlobalCssJs\ResourceLoaderGlobalUserModule; +use ReflectionMethod; +use User; + /** * @group Database */ @@ -79,7 +85,7 @@ } /** - * @covers ResourceLoaderGlobalUserModule::getPages + * @covers \MediaWiki\GlobalCssJs\ResourceLoaderGlobalUserModule::getPages * @dataProvider provideGetPages * @param $type * @param $configOverrides -- To view, visit https://gerrit.wikimedia.org/r/402468 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: If19086e80f3f04bc677fc95de3416d0ad2352fb2 Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/extensions/GlobalCssJs Gerrit-Branch: master Gerrit-Owner: Legoktm <lego...@member.fsf.org> Gerrit-Reviewer: Krinkle <krinklem...@gmail.com> Gerrit-Reviewer: Ladsgroup <ladsgr...@gmail.com> Gerrit-Reviewer: Legoktm <lego...@member.fsf.org> Gerrit-Reviewer: MaxSem <maxsem.w...@gmail.com> Gerrit-Reviewer: Reedy <re...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits