1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
<?php
/**
* @group Cache
* @covers HtmlCacheUpdater
*/
class HtmlCacheUpdaterTest extends MediaWikiUnitTestCase {
public function testGetCdnUrls() {
$htmlCache = new HtmlCacheUpdater(
$this->createHookContainer(),
0, false, 86400 );
$title = $this->createMock( Title::class );
$title->method( 'getInternalURL' )->will( $this->returnCallback( function ( $query = '' ) {
return 'https://test/?title=Example' . ( $query !== '' ? "&$query" : '' );
} ) );
$this->assertEquals(
[
'https://test/?title=Example',
'https://test/?title=Example&action=history',
],
$htmlCache->getUrls( $title ),
'all urls for an article'
);
$this->assertEquals(
[
'https://test/?title=Example',
],
$htmlCache->getUrls( $title, $htmlCache::PURGE_URLS_LINKSUPDATE_ONLY ),
'linkupdate urls for an article'
);
$title = $this->createMock( Title::class );
$title->method( 'getInternalURL' )->will( $this->returnCallback( function ( $query = '' ) {
return 'https://test/?title=User:Example/foo.js' . ( $query !== '' ? "&$query" : '' );
} ) );
$title->method( 'isUserJsConfigPage' )->willReturn( true );
$this->assertEquals(
[
'https://test/?title=User:Example/foo.js',
'https://test/?title=User:Example/foo.js&action=history',
'https://test/?title=User:Example/foo.js&action=raw&ctype=text/javascript',
],
$htmlCache->getUrls( $title ),
'all urls for a user js page'
);
}
}
|