aboutsummaryrefslogtreecommitdiffstats
path: root/tests/phpunit/includes/ResourceLoader/StartUpModuleTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/phpunit/includes/ResourceLoader/StartUpModuleTest.php')
-rw-r--r--tests/phpunit/includes/ResourceLoader/StartUpModuleTest.php45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/phpunit/includes/ResourceLoader/StartUpModuleTest.php b/tests/phpunit/includes/ResourceLoader/StartUpModuleTest.php
index 99123adc38de..7224a8532e89 100644
--- a/tests/phpunit/includes/ResourceLoader/StartUpModuleTest.php
+++ b/tests/phpunit/includes/ResourceLoader/StartUpModuleTest.php
@@ -657,6 +657,8 @@ mw.loader.register([
* @dataProvider provideGetModuleRegistrations
*/
public function testGetModuleRegistrations( $case ) {
+ $this->clearHook( 'ResourceLoaderModifyStartupSourceUrls' );
+
$extraQuery = $case['extraQuery'] ?? [];
$context = $this->getResourceLoaderContext( $extraQuery );
$rl = $context->getResourceLoader();
@@ -666,6 +668,7 @@ mw.loader.register([
$rl->register( $case['modules'] );
$module = new StartUpModule();
$module->setConfig( $rl->getConfig() );
+ $module->setHookContainer( $this->getServiceContainer()->getHookContainer() );
$out = ltrim( $case['out'], "\n" );
// Disable log from getModuleRegistrations via MWExceptionHandler
@@ -726,11 +729,14 @@ mw.loader.register([
* @dataProvider provideGetModuleRegistrationsProduction
*/
public function testGetModuleRegistrationsProduction( array $case ) {
+ $this->clearHook( 'ResourceLoaderModifyStartupSourceUrls' );
+
$context = $this->getResourceLoaderContext( [ 'debug' => 'false' ] );
$rl = $context->getResourceLoader();
$rl->register( $case['modules'] );
$module = new StartUpModule();
$module->setConfig( $rl->getConfig() );
+ $module->setHookContainer( $this->getServiceContainer()->getHookContainer() );
$out = ltrim( $case['out'], "\n" );
// Tolerate exception logs for cases that expect getVersionHash() to throw.
@@ -742,6 +748,28 @@ mw.loader.register([
);
}
+ public function testGetModuleRegistrations_hook() {
+ $this->clearHook( 'ResourceLoaderModifyStartupSourceUrls' );
+ $this->setTemporaryHook( 'ResourceLoaderModifyStartupSourceUrls', function ( &$urls, $context ) {
+ $urlUtils = $this->getServiceContainer()->getUrlUtils();
+ $urls['local'] = $urlUtils->expand( $urls['local'] );
+ } );
+
+ $context = $this->getResourceLoaderContext();
+ $rl = $context->getResourceLoader();
+ $module = new StartUpModule();
+ $module->setHookContainer( $this->getServiceContainer()->getHookContainer() );
+ $module->setConfig( $rl->getConfig() );
+ $out = 'mw.loader.addSource({
+ "local": "https://example.org/w/load.php"
+});
+mw.loader.register([]);';
+ $this->assertEquals(
+ $out,
+ $module->getModuleRegistrations( $context )
+ );
+ }
+
public static function provideRegistrations() {
return [
[ [
@@ -766,6 +794,8 @@ mw.loader.register([
* @dataProvider provideRegistrations
*/
public function testRegistrationsMinified( $modules ) {
+ $this->clearHook( 'ResourceLoaderModifyStartupSourceUrls' );
+
$context = $this->getResourceLoaderContext( [
'debug' => 'false',
] );
@@ -773,6 +803,7 @@ mw.loader.register([
$rl->register( $modules );
$module = new StartUpModule();
$module->setConfig( $rl->getConfig() );
+ $module->setHookContainer( $this->getServiceContainer()->getHookContainer() );
$out = 'mw.loader.addSource({"local":"/w/load.php"});' . "\n"
. 'mw.loader.register(['
. '["test.blank","{blankVer}"],'
@@ -791,6 +822,8 @@ mw.loader.register([
* @dataProvider provideRegistrations
*/
public function testRegistrationsUnminified( $modules ) {
+ $this->clearHook( 'ResourceLoaderModifyStartupSourceUrls' );
+
$context = $this->getResourceLoaderContext( [
'debug' => 'true',
] );
@@ -798,6 +831,7 @@ mw.loader.register([
$rl->register( $modules );
$module = new StartUpModule();
$module->setConfig( $rl->getConfig() );
+ $module->setHookContainer( $this->getServiceContainer()->getHookContainer() );
$out =
'mw.loader.addSource({
"local": "/w/load.php"
@@ -827,6 +861,7 @@ mw.loader.register([
}
public function testGetVersionHash_varyConfig() {
+ $this->clearHook( 'ResourceLoaderModifyStartupSourceUrls' );
$context = $this->getResourceLoaderContext();
$module = new StartUpModule();
@@ -835,6 +870,7 @@ mw.loader.register([
$module = new StartUpModule();
$module->setConfig( $context->getResourceLoader()->getConfig() );
+ $module->setHookContainer( $this->getServiceContainer()->getHookContainer() );
$version2 = $module->getVersionHash( $context );
$this->assertEquals(
@@ -845,6 +881,8 @@ mw.loader.register([
}
public function testGetVersionHash_varyModule() {
+ $this->clearHook( 'ResourceLoaderModifyStartupSourceUrls' );
+
$context1 = $this->getResourceLoaderContext( [
'debug' => 'false',
] );
@@ -855,6 +893,7 @@ mw.loader.register([
] );
$module = new StartUpModule();
$module->setConfig( $rl1->getConfig() );
+ $module->setHookContainer( $this->getServiceContainer()->getHookContainer() );
$module->setName( 'test' );
$version1 = $module->getVersionHash( $context1 );
@@ -866,6 +905,7 @@ mw.loader.register([
] );
$module = new StartUpModule();
$module->setConfig( $rl2->getConfig() );
+ $module->setHookContainer( $this->getServiceContainer()->getHookContainer() );
$module->setName( 'test' );
$version2 = $module->getVersionHash( $context2 );
@@ -880,6 +920,7 @@ mw.loader.register([
] );
$module = new StartUpModule();
$module->setConfig( $rl3->getConfig() );
+ $module->setHookContainer( $this->getServiceContainer()->getHookContainer() );
$module->setName( 'test' );
$version3 = $module->getVersionHash( $context3 );
@@ -898,6 +939,8 @@ mw.loader.register([
}
public function testGetVersionHash_varyDeps() {
+ $this->clearHook( 'ResourceLoaderModifyStartupSourceUrls' );
+
$context = $this->getResourceLoaderContext( [ 'debug' => 'false' ] );
$rl = $context->getResourceLoader();
$rl->register( [
@@ -908,6 +951,7 @@ mw.loader.register([
] );
$module = new StartUpModule();
$module->setConfig( $rl->getConfig() );
+ $module->setHookContainer( $this->getServiceContainer()->getHookContainer() );
$module->setName( 'test' );
$version1 = $module->getVersionHash( $context );
@@ -921,6 +965,7 @@ mw.loader.register([
] );
$module = new StartUpModule();
$module->setConfig( $rl->getConfig() );
+ $module->setHookContainer( $this->getServiceContainer()->getHookContainer() );
$module->setName( 'test' );
$version2 = $module->getVersionHash( $context );