] );
}
- /**
- * @dataProvider providePreloadLinkHeaders
- * @covers OutputPage::addLogoPreloadLinkHeaders
- * @covers ResourceLoaderSkinModule::getLogo
- */
- public function testPreloadLinkHeaders( $config, $result, $baseDir = null ) {
- if ( $baseDir ) {
- $this->setMwGlobals( 'IP', $baseDir );
- }
- $out = TestingAccessWrapper::newFromObject( $this->newInstance( $config ) );
- $out->addLogoPreloadLinkHeaders();
-
- $this->assertEquals( $result, $out->getLinkHeader() );
- }
-
- public function providePreloadLinkHeaders() {
- return [
- [
- [
- 'ResourceBasePath' => '/w',
- 'Logo' => '/img/default.png',
- 'LogoHD' => [
- '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)'
- ],
- [
- [
- 'ResourceBasePath' => '/w',
- 'Logo' => '/img/default.png',
- 'LogoHD' => false,
- ],
- 'Link: </img/default.png>;rel=preload;as=image'
- ],
- [
- [
- 'ResourceBasePath' => '/w',
- 'Logo' => '/img/default.png',
- 'LogoHD' => [
- '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)'
- ],
- [
- [
- 'ResourceBasePath' => '/w',
- 'Logo' => '/img/default.png',
- 'LogoHD' => [
- 'svg' => '/img/vector.svg',
- ],
- ],
- 'Link: </img/vector.svg>;rel=preload;as=image'
-
- ],
- [
- [
- 'ResourceBasePath' => '/w',
- 'Logo' => '/w/test.jpg',
- 'LogoHD' => false,
- 'UploadPath' => '/w/images',
- ],
- 'Link: </w/test.jpg?edcf2>;rel=preload;as=image',
- 'baseDir' => dirname( __DIR__ ) . '/data/media',
- ],
- ];
- }
-
/**
* @return OutputPage
*/