aboutsummaryrefslogtreecommitdiffstats
path: root/tests/phpunit/includes/GlobalFunctions/WfExpandUrlTest.php
blob: 73d7a1fc38c7507809ea52337fa340a16a239728 (plain) (blame)
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
<?php

use MediaWiki\MainConfigNames;
use MediaWiki\Request\FauxRequest;
use MediaWiki\Utils\UrlUtils;

/**
 * @group GlobalFunctions
 * @covers ::wfExpandUrl
 */
class WfExpandUrlTest extends MediaWikiIntegrationTestCase {
	/**
	 * Same tests as the UrlUtils method to ensure they don't fall out of sync
	 * @dataProvider UrlUtilsProviders::provideExpand
	 */
	public function testWfExpandUrl( string $input, array $options,
		$defaultProto, string $expected
	) {
		$conf = [
			MainConfigNames::Server => $options[UrlUtils::SERVER] ?? null,
			MainConfigNames::CanonicalServer => $options[UrlUtils::CANONICAL_SERVER] ?? null,
			MainConfigNames::InternalServer => $options[UrlUtils::INTERNAL_SERVER] ?? null,
			MainConfigNames::HttpsPort => $options[UrlUtils::HTTPS_PORT] ?? 443,
		];
		$currentProto = $options[UrlUtils::FALLBACK_PROTOCOL];

		$this->overrideConfigValues( $conf );
		$this->setRequest( new FauxRequest( [], false, null, $currentProto ) );
		$this->assertEquals( $expected, wfExpandUrl( $input, $defaultProto ) );
	}
}