diff options
author | Yaco <franco@reevo.org> | 2021-10-19 20:24:11 -0300 |
---|---|---|
committer | Yaco <franco@reevo.org> | 2021-10-19 20:24:11 -0300 |
commit | e3880a1c86acaa3bbd05786ad2f5c586e6511a58 (patch) | |
tree | ec77bfc5b69f259a159c95188797bd0dade92357 /www/wiki/extensions/Maps/tests/Integration/ResourceModulesTest.php | |
parent | 20ca0685509f8010580d3b45036a64ab48616af1 (diff) |
updates Maps to 7.13.0
Diffstat (limited to 'www/wiki/extensions/Maps/tests/Integration/ResourceModulesTest.php')
-rw-r--r-- | www/wiki/extensions/Maps/tests/Integration/ResourceModulesTest.php | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/www/wiki/extensions/Maps/tests/Integration/ResourceModulesTest.php b/www/wiki/extensions/Maps/tests/Integration/ResourceModulesTest.php new file mode 100644 index 00000000..d6f2a6e5 --- /dev/null +++ b/www/wiki/extensions/Maps/tests/Integration/ResourceModulesTest.php @@ -0,0 +1,56 @@ +<?php + +declare( strict_types = 1 ); + +namespace Maps\Tests\Integration; + +use MediaWiki\MediaWikiServices; +use PHPUnit\Framework\TestCase; +use ResourceLoader; + +class ResourceModulesTest extends TestCase { + + /** + * @dataProvider mapsModuleNameProvider + */ + public function testDependenciesExist( string $moduleName ) { + $resourceLoader = $this->getResourceLoader(); + $module = $resourceLoader->getModule( $moduleName ); + + if ( $module->getDependencies() === [] ) { + $this->assertTrue( true ); + } + else { + foreach ( $module->getDependencies() as $dependency ) { + $this->assertNotNull( + $resourceLoader->getModule( $dependency ), + 'Dependency ' . $dependency . ' should exist' + ); + } + } + } + + public function mapsModuleNameProvider() { + foreach ( $this->getResourceLoader()->getModuleNames() as $name ) { + if ( $this->isMapsModule( $name ) ) { + yield $name => [ $name ]; + } + } + } + + private function isMapsModule( string $name ): bool { + $modulePrefix = 'ext.maps.'; + return substr( $name, 0, strlen( $modulePrefix ) ) === $modulePrefix; + } + + private function getResourceLoader(): ResourceLoader { + $mwServices = MediaWikiServices::getInstance(); + + if ( method_exists( $mwServices, 'getResourceLoader' ) ) { + return $mwServices->getResourceLoader(); + } + + return new ResourceLoader(); + } + +} |