Followup to r73500. SeleniumTestConfig renamed to SeleniumConfig. Make sure SELENIUMT...
authorPriyanka Dhanda <pdhanda@users.mediawiki.org>
Wed, 22 Sep 2010 21:23:21 +0000 (21:23 +0000)
committerPriyanka Dhanda <pdhanda@users.mediawiki.org>
Wed, 22 Sep 2010 21:23:21 +0000 (21:23 +0000)
Fixed some indents and pass by reference warnings

includes/AutoLoader.php
maintenance/tests/RunSeleniumTests.php
maintenance/tests/phpunit/includes/SeleniumConfigurationTest.php
maintenance/tests/selenium/SeleniumConfig.php [new file with mode: 0644]
maintenance/tests/selenium/SeleniumTestConfig.php [deleted file]

index 90399c7..1805d7d 100644 (file)
@@ -710,7 +710,7 @@ $wgAutoloadLocalClasses = array(
        'SeleniumTestHTMLLogger' => 'maintenance/tests/selenium/SeleniumTestHTMLLogger.php',
        'SeleniumTestListener' => 'maintenance/tests/selenium/SeleniumTestListener.php',
        'SeleniumTestSuite' => 'maintenance/tests/selenium/SeleniumTestSuite.php',
-       'SeleniumTestConfig' => 'maintenance/tests/selenium/SeleniumTestConfig.php',
+       'SeleniumConfig' => 'maintenance/tests/selenium/SeleniumConfig.php',
 
        # maintenance/language
        'csvStatsOutput' => 'maintenance/language/StatOutputs.php',
index 4aa8800..261a040 100644 (file)
@@ -90,21 +90,21 @@ class SeleniumTester extends Maintenance {
                $configFile = $this->getOption( 'seleniumConfig', '' );
                if ( strlen( $configFile ) > 0 ) {
                        $this->output("Using Selenium Configuration file: " . $configFile . "\n");
-                       SeleniumTestConfig::getSeleniumSettings(        &$seleniumSettings, 
-                                                                                                               &$seleniumBrowsers, 
-                                                                                                               &$seleniumTestSuites,
-                                                                                                               $configFile );
+                       SeleniumConfig::getSeleniumSettings( $seleniumSettings, 
+                               $seleniumBrowsers,
+                               $seleniumTestSuites,
+                               $configFile );
                } else if ( !isset( $wgHooks['SeleniumSettings'] ) ) {
-                       $this->output("Using default Selenium Configuration file: selenium_settings.ini in the root directory.\n");
-                       SeleniumTestConfig::getSeleniumSettings(        &$seleniumSettings, 
-                                                                                                               &$seleniumBrowsers, 
-                                                                                                               &$seleniumTestSuites
+                       $this->output("No command line configuration file or configuration hook found.\n");
+                       SeleniumConfig::getSeleniumSettings( $seleniumSettings, 
+                               $seleniumBrowsers,
+                               $seleniumTestSuites
                                                                                                        );
                } else {
                        $this->output("Using 'SeleniumSettings' hook for configuration.\n");
-                       wfRunHooks('SeleniumSettings', array(   &$seleniumSettings, 
-                                                                                                       &$seleniumBrowsers, 
-                                                                                                       &$seleniumTestSuites ) );
+                       wfRunHooks('SeleniumSettings', array( $seleniumSettings, 
+                               $seleniumBrowsers,
+                               $seleniumTestSuites ) );
                }
                
 
index 052d630..ae2445b 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 class SeleniumConfigurationTest extends PHPUnit_Framework_TestCase {
-       
+
        /*
         * The file where the test temporarity stores the selenium config.
         * This should be cleaned up as part of teardown. 
@@ -84,6 +84,12 @@ testBrowser          = "firefox"
         */
        private $testSuites1 = null;            
        
+       
+       public function setUp() {
+               if ( !defined( 'SELENIUMTEST' ) ) {
+                       define( 'SELENIUMTEST', true );
+               }
+       }
         
        /*
         * Clean up the temporary file used to sore the selenium settings.
@@ -99,39 +105,73 @@ testBrowser                = "firefox"
        /**
      * @expectedException MWException
      * @group SeleniumFramework
-     * This test will throw warnings unless you have the following setting in your php.ini
-        * allow_call_time_pass_reference = On
      */
-       public function testErrorOnMissingConfigFile() {                
+       public function testErrorOnIncorrectConfigFile() {              
                $seleniumSettings;
                $seleniumBrowsers;
                $seleniumTestSuites;
 
-               SeleniumTestConfig::getSeleniumSettings($seleniumSettings, 
-                                                                                               $seleniumBrowsers, 
-                                                                                               $seleniumTestSuites,
-                                                                                               "Some_fake_settings_file.ini" );
+               SeleniumConfig::getSeleniumSettings($seleniumSettings, 
+                       $seleniumBrowsers, 
+                       $seleniumTestSuites,
+                       "Some_fake_settings_file.ini" );
+
+       }
+       
+       /**
+     * @expectedException MWException
+     * @group SeleniumFramework
+     */
+       public function testErrorOnMissingConfigFile() {                
+               $seleniumSettings;
+               $seleniumBrowsers;
+               $seleniumTestSuites;
+               global $wgSeleniumConfigFile;
+               $wgSeleniumConfigFile = '';
+               SeleniumConfig::getSeleniumSettings($seleniumSettings, 
+                       $seleniumBrowsers, 
+                       $seleniumTestSuites);
+       }
+       
+       /**
+     * @group SeleniumFramework
+     */
+       public function testUsesGlobalVarForConfigFile() {              
+               $seleniumSettings;
+               $seleniumBrowsers;
+               $seleniumTestSuites;
+               global $wgSeleniumConfigFile;
+               $this->writeToTempFile( $this->testConfig0 );
+               $wgSeleniumConfigFile = $this->tempFileName;
+               SeleniumConfig::getSeleniumSettings($seleniumSettings, 
+                       $seleniumBrowsers, 
+                       $seleniumTestSuites);
+               $this->assertEquals($seleniumSettings, $this->testSettings0 ,
+               'The selenium settings should have been read from the file defined in $wgSeleniumConfigFile'
+               );
+               $this->assertEquals($seleniumBrowsers, $this->testBrowsers0, 
+               'The available browsers should have been read from the file defined in $wgSeleniumConfigFile'
+               );
+               $this->assertEquals($seleniumTestSuites, $this->testSuites0, 
+               'The test suites should have been read from the file defined in $wgSeleniumConfigFile'
+               );                                                                              
        }
        
        /**
      * @group SeleniumFramework
      * @dataProvider sampleConfigs
-        * This test will throw warnings unless you have the following setting in your php.ini
-        * allow_call_time_pass_reference = On
      */
        public function testgetSeleniumSettings($sampleConfig, $expectedSettings, $expectedBrowsers, $expectedSuites ) {        
-               //print "SAMPLE_CONFIG " . $sampleConfig . "\n\n";      
                $this->writeToTempFile( $sampleConfig );
                $seleniumSettings;
                $seleniumBrowsers;
                $seleniumTestSuites;
 
-               SeleniumTestConfig::getSeleniumSettings($seleniumSettings, 
-                                                                                               $seleniumBrowsers, 
-                                                                                               $seleniumTestSuites,
-                                                                                               $this->tempFileName );
-
-                                       
+               SeleniumConfig::getSeleniumSettings($seleniumSettings, 
+                       $seleniumBrowsers, 
+                       $seleniumTestSuites,
+                       $this->tempFileName );
+                                       
                $this->assertEquals($seleniumSettings, $expectedSettings, 
                "The selenium settings for the following test configuration was not retrieved correctly" . $sampleConfig
                );
diff --git a/maintenance/tests/selenium/SeleniumConfig.php b/maintenance/tests/selenium/SeleniumConfig.php
new file mode 100644 (file)
index 0000000..881dfd4
--- /dev/null
@@ -0,0 +1,48 @@
+<?php
+if ( !defined( 'SELENIUMTEST' ) ) {
+       die( 1 );
+}
+
+class SeleniumConfig {
+       
+       /*
+        * Retreives the Selenium configuration values from an ini file.
+        * See sample config file in selenium_settings.ini.sample
+        * 
+        */
+       public static function getSeleniumSettings ( &$seleniumSettings, 
+                       &$seleniumBrowsers, 
+                       &$seleniumTestSuites, 
+                       $seleniumConfigFile = null ) {
+               if ( strlen( $seleniumConfigFile ) == 0 ) {
+                       global $wgSeleniumConfigFile;
+                       if ( isset( $wgSeleniumConfigFile ) ) $seleniumConfigFile =  $wgSeleniumConfigFile ;
+               }
+
+               if ( strlen( $seleniumConfigFile ) == 0 || !file_exists( $seleniumConfigFile ) ) {
+                       throw new MWException( "Unable to read local Selenium Settings from " . $seleniumConfigFile . "\n" );
+               }
+               
+               $configArray = parse_ini_file($seleniumConfigFile, true);
+               if ( array_key_exists( 'SeleniumSettings', $configArray)  ) {
+                       wfSuppressWarnings();
+                       //we may need to change how this is set. But for now leave it in the ini file
+                       $seleniumBrowsers = $configArray['SeleniumSettings']['browsers'];
+                       
+                       $seleniumSettings['host'] = $configArray['SeleniumSettings']['host'];
+                       $seleniumSettings['port'] = $configArray['SeleniumSettings']['port'];
+                       $seleniumSettings['wikiUrl'] = $configArray['SeleniumSettings']['wikiUrl'];
+                       $seleniumSettings['username'] = $configArray['SeleniumSettings']['username'];
+                       $seleniumSettings['userPassword'] = $configArray['SeleniumSettings']['userPassword'];
+                       $seleniumSettings['testBrowser'] = $configArray['SeleniumSettings']['testBrowser'];     
+                       wfRestoreWarnings();
+               }
+               if ( array_key_exists( 'SeleniumTests', $configArray)  ) {
+                       wfSuppressWarnings();
+                       $seleniumTestSuites = $configArray['SeleniumTests']['testSuite'];
+                       wfRestoreWarnings();
+               }
+               return true;    
+       }
+
+}
diff --git a/maintenance/tests/selenium/SeleniumTestConfig.php b/maintenance/tests/selenium/SeleniumTestConfig.php
deleted file mode 100644 (file)
index d3f0e4a..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-
-class SeleniumTestConfig {
-       
-       /*
-        * Retreives the Selenium configuration values from an ini file.
-        * See sample config file in selenium_settings.ini.sample
-        * 
-        */
-       public static function getSeleniumSettings ( &$seleniumSettings, 
-                                                                                                &$seleniumBrowsers, 
-                                                                                                &$seleniumTestSuites, 
-                                                                                                $seleniumConfigFile = null ) {
-               if ( $seleniumConfigFile == null ) {
-                       global $wgSeleniumConfigFile;
-                       $seleniumConfigFile =  ( isset( $wgSeleniumConfigFile ) ) ? 
-                                                                       $wgSeleniumConfigFile : dirname( __FILE__ ) . "/../../../selenium_settings.ini";
-               }
-
-               if ( !file_exists( $seleniumConfigFile ) ) {
-                       throw new MWException( "Unable to read local Selenium Settings from " . $seleniumConfigFile . "\n" );
-               }
-               
-               $configArray = parse_ini_file($seleniumConfigFile, true);
-               if ( array_key_exists( 'SeleniumSettings', $configArray)  ) {
-                       wfSuppressWarnings();
-                       //we may need to change how this is set. But for now leave it in the ini file
-                       $seleniumBrowsers = $configArray['SeleniumSettings']['browsers'];
-                       
-                       $seleniumSettings['host'] = $configArray['SeleniumSettings']['host'];
-                       $seleniumSettings['port'] = $configArray['SeleniumSettings']['port'];
-                       $seleniumSettings['wikiUrl'] = $configArray['SeleniumSettings']['wikiUrl'];
-                       $seleniumSettings['username'] = $configArray['SeleniumSettings']['username'];
-                       $seleniumSettings['userPassword'] = $configArray['SeleniumSettings']['userPassword'];
-                       $seleniumSettings['testBrowser'] = $configArray['SeleniumSettings']['testBrowser'];     
-                       wfRestoreWarnings();
-               }
-               if ( array_key_exists( 'SeleniumTests', $configArray)  ) {
-                       wfSuppressWarnings();
-                       $seleniumTestSuites = $configArray['SeleniumTests']['testSuite'];
-                       wfRestoreWarnings();
-               }
-               return true;    
-       }
-
-}