X-Git-Url: http://git.cyclocoop.org//%22%22.str_replace%28%27%22%27%2C?a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2Fresourceloader%2FResourceLoaderModuleTest.php;h=c917882a50965af53ad28b296e975ea1c7c7fb03;hb=42d537503df2bec832317fdec4f9265c3876104a;hp=c861b370331b32e50e89ad6da49646dbab18b2f9;hpb=75e693d5a4d80a9e12ccffd3c7074e279432d9d7;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/includes/resourceloader/ResourceLoaderModuleTest.php b/tests/phpunit/includes/resourceloader/ResourceLoaderModuleTest.php index c861b37033..c917882a50 100644 --- a/tests/phpunit/includes/resourceloader/ResourceLoaderModuleTest.php +++ b/tests/phpunit/includes/resourceloader/ResourceLoaderModuleTest.php @@ -4,6 +4,8 @@ class ResourceLoaderModuleTest extends ResourceLoaderTestCase { /** * @covers ResourceLoaderModule::getVersionHash + * @covers ResourceLoaderModule::getModifiedTime + * @covers ResourceLoaderModule::getModifiedHash */ public function testGetVersionHash() { $context = $this->getResourceLoaderContext(); @@ -149,9 +151,9 @@ class ResourceLoaderModuleTest extends ResourceLoaderTestCase { * @covers ResourceLoaderModule::expandRelativePaths */ public function testPlaceholderize() { - $getRelativePaths = new ReflectionMethod( 'ResourceLoaderModule', 'getRelativePaths' ); + $getRelativePaths = new ReflectionMethod( ResourceLoaderModule::class, 'getRelativePaths' ); $getRelativePaths->setAccessible( true ); - $expandRelativePaths = new ReflectionMethod( 'ResourceLoaderModule', 'expandRelativePaths' ); + $expandRelativePaths = new ReflectionMethod( ResourceLoaderModule::class, 'expandRelativePaths' ); $expandRelativePaths->setAccessible( true ); $this->setMwGlobals( [ @@ -180,4 +182,43 @@ class ResourceLoaderModuleTest extends ResourceLoaderTestCase { 'Substitute placeholders' ); } + + /** + * @covers ResourceLoaderModule::getHeaders + * @covers ResourceLoaderModule::getPreloadLinks + */ + public function testGetHeaders() { + $context = $this->getResourceLoaderContext(); + + $module = new ResourceLoaderTestModule(); + $this->assertSame( [], $module->getHeaders( $context ), 'Default' ); + + $module = $this->getMockBuilder( ResourceLoaderTestModule::class ) + ->setMethods( [ 'getPreloadLinks' ] )->getMock(); + $module->method( 'getPreloadLinks' )->willReturn( [ + 'https://example.org/script.js' => [ 'as' => 'script' ], + ] ); + $this->assertSame( + [ + 'Link: ;rel=preload;as=script' + ], + $module->getHeaders( $context ), + 'Preload one resource' + ); + + $module = $this->getMockBuilder( ResourceLoaderTestModule::class ) + ->setMethods( [ 'getPreloadLinks' ] )->getMock(); + $module->method( 'getPreloadLinks' )->willReturn( [ + 'https://example.org/script.js' => [ 'as' => 'script' ], + '/example.png' => [ 'as' => 'image' ], + ] ); + $this->assertSame( + [ + 'Link: ;rel=preload;as=script,' . + ';rel=preload;as=image' + ], + $module->getHeaders( $context ), + 'Preload two resources' + ); + } }