Improve GlobalVarConfigTest
Should bring includes/config to 100% coverage :D Change-Id: I929448b7a306fb1efb8b523d16305a7666f78fd0
This commit is contained in:
parent
f311f96e98
commit
a3e18c3670
1 changed files with 40 additions and 4 deletions
|
|
@ -8,6 +8,34 @@ class GlobalVarConfigTest extends MediaWikiTestCase {
|
|||
public function testNewInstance() {
|
||||
$config = GlobalVarConfig::newInstance();
|
||||
$this->assertInstanceOf( 'GlobalVarConfig', $config );
|
||||
$this->maybeStashGlobal( 'wgBaz' );
|
||||
$GLOBALS['wgBaz'] = 'somevalue';
|
||||
// Check prefix is set to 'wg'
|
||||
$this->assertEquals( 'somevalue', $config->get( 'Baz' ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers GlobalVarConfig::__construct
|
||||
* @dataProvider provideConstructor
|
||||
*/
|
||||
public function testConstructor( $prefix ) {
|
||||
$var = $prefix . 'GlobalVarConfigTest';
|
||||
$rand = wfRandomString();
|
||||
$this->maybeStashGlobal( $var );
|
||||
$GLOBALS[$var] = $rand;
|
||||
$config = new GlobalVarConfig( $prefix );
|
||||
$this->assertInstanceOf( 'GlobalVarConfig', $config );
|
||||
$this->assertEquals( $rand, $config->get( 'GlobalVarConfigTest' ) );
|
||||
}
|
||||
|
||||
public static function provideConstructor() {
|
||||
return array(
|
||||
array( 'wg' ),
|
||||
array( 'ef' ),
|
||||
array( 'smw' ),
|
||||
array( 'blahblahblahblah' ),
|
||||
array( '' ),
|
||||
);
|
||||
}
|
||||
|
||||
public function provideGet() {
|
||||
|
|
@ -27,6 +55,7 @@ class GlobalVarConfigTest extends MediaWikiTestCase {
|
|||
array( 'Foo', 'wg', 'default2' ),
|
||||
array( 'Variable', 'ef', 'default3' ),
|
||||
array( 'BAR', '', 'default4' ),
|
||||
array( 'ThisGlobalWasNotSetAbove', 'wg', false )
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -40,6 +69,9 @@ class GlobalVarConfigTest extends MediaWikiTestCase {
|
|||
*/
|
||||
public function testGet( $name, $prefix, $expected ) {
|
||||
$config = new GlobalVarConfig( $prefix );
|
||||
if ( $expected === false ) {
|
||||
$this->setExpectedException( 'ConfigException', 'GlobalVarConfig::getWithPrefix: undefined variable:' );
|
||||
}
|
||||
$this->assertEquals( $config->get( $name ), $expected );
|
||||
}
|
||||
|
||||
|
|
@ -52,16 +84,20 @@ class GlobalVarConfigTest extends MediaWikiTestCase {
|
|||
);
|
||||
}
|
||||
|
||||
private function maybeStashGlobal( $var ) {
|
||||
if ( array_key_exists( $var, $GLOBALS ) ) {
|
||||
// Will be reset after this test is over
|
||||
$this->stashMwGlobals( $var );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider provideSet
|
||||
* @covers GlobalVarConfig::set
|
||||
* @covers GlobalVarConfig::setWithPrefix
|
||||
*/
|
||||
public function testSet( $name, $prefix, $var ) {
|
||||
if ( array_key_exists( $var, $GLOBALS ) ) {
|
||||
// Will be reset after this test is over
|
||||
$this->stashMwGlobals( $var );
|
||||
}
|
||||
$this->maybeStashGlobal( $var );
|
||||
$config = new GlobalVarConfig( $prefix );
|
||||
$random = wfRandomString();
|
||||
$config->set( $name, $random );
|
||||
|
|
|
|||
Loading…
Reference in a new issue