X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2FSiteConfigurationTest.php;h=6547c873a0792e38888dd56ea258d969663d1067;hb=b87966f6bbd753655cd684cbddd0ec7fe8e6616c;hp=053d8a7d26a6ba971b8aaa44176a9c17594c74d4;hpb=a443be2747d49938dd7beb2fa08d1aefcf15ed7b;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/includes/SiteConfigurationTest.php b/tests/phpunit/includes/SiteConfigurationTest.php index 053d8a7d26..6547c873a0 100644 --- a/tests/phpunit/includes/SiteConfigurationTest.php +++ b/tests/phpunit/includes/SiteConfigurationTest.php @@ -1,28 +1,5 @@ suffixes as $suffix ) { - if ( substr( $wiki, -strlen( $suffix ) ) == $suffix ) { - $site = $suffix; - $lang = substr( $wiki, 0, -strlen( $suffix ) ); - break; - } - } - - return array( - 'suffix' => $site, - 'lang' => $lang, - 'params' => array( - 'lang' => $lang, - 'site' => $site, - 'wiki' => $wiki, - ), - 'tags' => array( 'tag' ), - ); -} - class SiteConfigurationTest extends MediaWikiTestCase { /** @@ -99,6 +76,32 @@ class SiteConfigurationTest extends MediaWikiTestCase { $GLOBALS['global'] = array( 'global' => 'global' ); } + /** + * This function is used as a callback within the tests below + */ + public static function getSiteParamsCallback( $conf, $wiki ) { + $site = null; + $lang = null; + foreach ( $conf->suffixes as $suffix ) { + if ( substr( $wiki, -strlen( $suffix ) ) == $suffix ) { + $site = $suffix; + $lang = substr( $wiki, 0, -strlen( $suffix ) ); + break; + } + } + + return array( + 'suffix' => $site, + 'lang' => $lang, + 'params' => array( + 'lang' => $lang, + 'site' => $site, + 'wiki' => $wiki, + ), + 'tags' => array( 'tag' ), + ); + } + /** * @covers SiteConfiguration::siteFromDB */ @@ -257,7 +260,7 @@ class SiteConfigurationTest extends MediaWikiTestCase { * @covers SiteConfiguration::siteFromDB */ public function testSiteFromDbWithCallback() { - $this->mConf->siteParamsCallback = 'getSiteParams'; + $this->mConf->siteParamsCallback = 'SiteConfigurationTest::getSiteParamsCallback'; $this->assertEquals( array( 'wiki', 'en' ), @@ -280,7 +283,7 @@ class SiteConfigurationTest extends MediaWikiTestCase { * @covers SiteConfiguration::get */ public function testParameterReplacement() { - $this->mConf->siteParamsCallback = 'getSiteParams'; + $this->mConf->siteParamsCallback = 'SiteConfigurationTest::getSiteParamsCallback'; $this->assertEquals( 'en wiki enwiki', @@ -313,23 +316,48 @@ class SiteConfigurationTest extends MediaWikiTestCase { * @covers SiteConfiguration::getAll */ public function testGetAllGlobals() { - $this->mConf->siteParamsCallback = 'getSiteParams'; + $this->mConf->siteParamsCallback = 'SiteConfigurationTest::getSiteParamsCallback'; $getall = array( 'simple' => 'enwiki', 'fallback' => 'tag', 'params' => 'en wiki enwiki', 'global' => array( 'enwiki' => 'enwiki' ) + $GLOBALS['global'], - 'merge' => array( 'enwiki' => 'enwiki', 'tag' => 'tag', 'wiki' => 'wiki', 'default' => 'default' ), + 'merge' => array( + 'enwiki' => 'enwiki', + 'tag' => 'tag', + 'wiki' => 'wiki', + 'default' => 'default' + ), ); $this->assertEquals( $getall, $this->mConf->getAll( 'enwiki' ), 'getAll()' ); $this->mConf->extractAllGlobals( 'enwiki', 'wiki' ); - $this->assertEquals( $getall['simple'], $GLOBALS['simple'], 'extractAllGlobals(): simple setting' ); - $this->assertEquals( $getall['fallback'], $GLOBALS['fallback'], 'extractAllGlobals(): fallback setting' ); - $this->assertEquals( $getall['params'], $GLOBALS['params'], 'extractAllGlobals(): parameter replacement' ); - $this->assertEquals( $getall['global'], $GLOBALS['global'], 'extractAllGlobals(): merging with global' ); - $this->assertEquals( $getall['merge'], $GLOBALS['merge'], 'extractAllGlobals(): merging setting' ); + $this->assertEquals( + $getall['simple'], + $GLOBALS['simple'], + 'extractAllGlobals(): simple setting' + ); + $this->assertEquals( + $getall['fallback'], + $GLOBALS['fallback'], + 'extractAllGlobals(): fallback setting' + ); + $this->assertEquals( + $getall['params'], + $GLOBALS['params'], + 'extractAllGlobals(): parameter replacement' + ); + $this->assertEquals( + $getall['global'], + $GLOBALS['global'], + 'extractAllGlobals(): merging with global' + ); + $this->assertEquals( + $getall['merge'], + $GLOBALS['merge'], + 'extractAllGlobals(): merging setting' + ); } }