File: HtmlCacheUpdaterTest.php

package info (click to toggle)
mediawiki 1%3A1.35.13-1%2Bdeb11u2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 274,932 kB
  • sloc: php: 677,563; javascript: 572,709; sql: 11,565; python: 4,447; xml: 3,145; sh: 892; perl: 788; ruby: 496; pascal: 365; makefile: 128
file content (49 lines) | stat: -rw-r--r-- 1,449 bytes parent folder | download
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'
		);
	}
}