X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2Fresourceloader%2FResourceLoaderModuleTest.php;h=7c7f1cf5c403f8f85312b28ecb8314b2440c196d;hb=a0947c9507065a83afe52b078f0f6d1c6163875e;hp=6057b9710bafd49db8b8a9040de11b4b8a56929b;hpb=25d765c4735346f5207037c6f939709509013601;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/includes/resourceloader/ResourceLoaderModuleTest.php b/tests/phpunit/includes/resourceloader/ResourceLoaderModuleTest.php index 6057b9710b..7c7f1cf5c4 100644 --- a/tests/phpunit/includes/resourceloader/ResourceLoaderModuleTest.php +++ b/tests/phpunit/includes/resourceloader/ResourceLoaderModuleTest.php @@ -98,11 +98,11 @@ class ResourceLoaderModuleTest extends ResourceLoaderTestCase { return [ [ "mw.foo()", - "mw.foo();\n", + "mw.foo()\n", ], [ "mw.foo();", - "mw.foo();", + "mw.foo();\n", ], [ "mw.foo();\n", @@ -110,15 +110,19 @@ class ResourceLoaderModuleTest extends ResourceLoaderTestCase { ], [ "mw.foo()\n", - "mw.foo()\n;\n", + "mw.foo()\n", ], [ "mw.foo()\n// mw.bar();", - "mw.foo()\n// mw.bar();", + "mw.foo()\n// mw.bar();\n", + ], + [ + "mw.foo()\n// mw.bar()", + "mw.foo()\n// mw.bar()\n", ], [ "mw.foo()// mw.bar();", - "mw.foo()// mw.bar();", + "mw.foo()// mw.bar();\n", ], ]; } @@ -176,4 +180,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' + ); + } }