] );
}
- /**
- * @dataProvider providePreloadLinkHeaders
- * @covers ResourceLoaderSkinModule::getPreloadLinks
- * @covers ResourceLoaderSkinModule::getLogoPreloadlinks
- * @covers ResourceLoaderSkinModule::getLogo
- */
- public function testPreloadLinkHeaders( $config, $result ) {
- $this->setMwGlobals( $config );
- $ctx = $this->getMockBuilder( ResourceLoaderContext::class )
- ->disableOriginalConstructor()->getMock();
- $module = new ResourceLoaderSkinModule();
-
- $this->assertEquals( [ $result ], $module->getHeaders( $ctx ) );
- }
-
- public function providePreloadLinkHeaders() {
- return [
- [
- [
- 'wgResourceBasePath' => '/w',
- 'wgLogo' => '/img/default.png',
- 'wgLogoHD' => [
- '1.5x' => '/img/one-point-five.png',
- '2x' => '/img/two-x.png',
- ],
- ],
- 'Link: </img/default.png>;rel=preload;as=image;media=' .
- 'not all and (min-resolution: 1.5dppx),' .
- '</img/one-point-five.png>;rel=preload;as=image;media=' .
- '(min-resolution: 1.5dppx) and (max-resolution: 1.999999dppx),' .
- '</img/two-x.png>;rel=preload;as=image;media=(min-resolution: 2dppx)'
- ],
- [
- [
- 'wgResourceBasePath' => '/w',
- 'wgLogo' => '/img/default.png',
- 'wgLogoHD' => false,
- ],
- 'Link: </img/default.png>;rel=preload;as=image'
- ],
- [
- [
- 'wgResourceBasePath' => '/w',
- 'wgLogo' => '/img/default.png',
- 'wgLogoHD' => [
- '2x' => '/img/two-x.png',
- ],
- ],
- 'Link: </img/default.png>;rel=preload;as=image;media=' .
- 'not all and (min-resolution: 2dppx),' .
- '</img/two-x.png>;rel=preload;as=image;media=(min-resolution: 2dppx)'
- ],
- [
- [
- 'wgResourceBasePath' => '/w',
- 'wgLogo' => '/img/default.png',
- 'wgLogoHD' => [
- 'svg' => '/img/vector.svg',
- ],
- ],
- 'Link: </img/vector.svg>;rel=preload;as=image'
-
- ],
- [
- [
- 'wgResourceBasePath' => '/w',
- 'wgLogo' => '/w/test.jpg',
- 'wgLogoHD' => false,
- 'wgUploadPath' => '/w/images',
- 'IP' => dirname( __DIR__ ) . '/data/media',
- ],
- 'Link: </w/test.jpg?edcf2>;rel=preload;as=image',
- ],
- ];
- }
-
/**
* @return OutputPage
*/