2020-01-17 06:21:28 +00:00
|
|
|
<?php
|
|
|
|
|
|
2020-05-11 19:19:13 +00:00
|
|
|
use MediaWiki\User\DefaultOptionsLookup;
|
2020-01-17 06:21:28 +00:00
|
|
|
use MediaWiki\User\UserOptionsLookup;
|
|
|
|
|
|
|
|
|
|
/**
|
2020-05-11 19:19:13 +00:00
|
|
|
* @covers MediaWiki\User\DefaultOptionsLookup
|
2020-01-17 06:21:28 +00:00
|
|
|
*/
|
2020-05-11 19:19:13 +00:00
|
|
|
class DefaultOptionsLookupTest extends UserOptionsLookupTest {
|
2020-01-17 06:21:28 +00:00
|
|
|
protected function getLookup(
|
|
|
|
|
string $langCode = 'qqq',
|
|
|
|
|
array $defaultOptionsOverrides = []
|
|
|
|
|
) : UserOptionsLookup {
|
|
|
|
|
return $this->getDefaultManager( $langCode, $defaultOptionsOverrides );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
2020-05-11 19:19:13 +00:00
|
|
|
* @covers MediaWiki\User\DefaultOptionsLookup::getOption
|
2020-01-17 06:21:28 +00:00
|
|
|
*/
|
|
|
|
|
public function testGetOptionsExcludeDefaults() {
|
|
|
|
|
$this->assertSame( [], $this->getLookup()
|
2020-05-11 19:19:13 +00:00
|
|
|
->getOptions( $this->getAnon(), DefaultOptionsLookup::EXCLUDE_DEFAULTS ) );
|
2020-01-17 06:21:28 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
2020-05-11 19:19:13 +00:00
|
|
|
* @covers MediaWiki\User\DefaultOptionsLookup::getDefaultOptions
|
2020-01-17 06:21:28 +00:00
|
|
|
*/
|
|
|
|
|
public function testGetDefaultOptionsHook() {
|
|
|
|
|
$this->setTemporaryHook( 'UserGetDefaultOptions', function ( &$options ) {
|
|
|
|
|
$options['from_hook'] = 'value_from_hook';
|
|
|
|
|
} );
|
|
|
|
|
$this->assertSame( 'value_from_hook', $this->getLookup()->getDefaultOption( 'from_hook' ) );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
2020-05-11 19:19:13 +00:00
|
|
|
* @covers MediaWiki\User\DefaultOptionsLookup::getDefaultOptions
|
2020-01-17 06:21:28 +00:00
|
|
|
*/
|
|
|
|
|
public function testSearchNS() {
|
|
|
|
|
$this->assertTrue( $this->getLookup()->getDefaultOption( 'searchNs0' ) );
|
|
|
|
|
$this->assertNull( $this->getLookup()->getDefaultOption( 'searchNs5' ) );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
2020-05-11 19:19:13 +00:00
|
|
|
* @covers MediaWiki\User\DefaultOptionsLookup::getDefaultOptions
|
2020-01-17 06:21:28 +00:00
|
|
|
*/
|
|
|
|
|
public function testLangVariantOptions() {
|
|
|
|
|
$managerZh = $this->getLookup( 'zh' );
|
|
|
|
|
$this->assertSame( 'zh', $managerZh->getDefaultOption( 'language' ) );
|
|
|
|
|
$this->assertSame( 'gan', $managerZh->getDefaultOption( 'variant-gan' ) );
|
|
|
|
|
$this->assertSame( 'zh', $managerZh->getDefaultOption( 'variant' ) );
|
|
|
|
|
}
|
|
|
|
|
}
|