Put callback function within class in SiteConfigurationTest
authoraddshore <addshorewiki@gmail.com>
Sun, 26 Jan 2014 23:37:03 +0000 (00:37 +0100)
committeraddshore <addshorewiki@gmail.com>
Mon, 27 Jan 2014 10:32:10 +0000 (11:32 +0100)
Makes no sense to stick this in as a global function
so we can make a callback to a static function
in this class instead

Change-Id: I168881e7c889daae94ab246bf52d30ebf48e0405

tests/phpunit/includes/SiteConfigurationTest.php

index 053d8a7..572740f 100644 (file)
@@ -1,28 +1,5 @@
 <?php
 
-function getSiteParams( $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' ),
-       );
-}
-
 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,7 +316,7 @@ class SiteConfigurationTest extends MediaWikiTestCase {
         * @covers SiteConfiguration::getAll
         */
        public function testGetAllGlobals() {
-               $this->mConf->siteParamsCallback = 'getSiteParams';
+               $this->mConf->siteParamsCallback = 'SiteConfigurationTest::getSiteParamsCallback';
 
                $getall = array(
                        'simple' => 'enwiki',