コード例 #1
0
 function test_instantiateController()
 {
     $file = MAX_PATH . '/lib/OA/Admin/Statistics/Delivery/Common.php';
     $aParams = array();
     $class = 'OA_Admin_Statistics_Delivery_Common';
     $oObject =& OA_Admin_Statistics_Factory::_instantiateController($file, $class, $aParams);
     $this->assertIsA($oObject, $class);
     $this->assertEqual(count($oObject->aPlugins), 2);
     $this->assertTrue(isset($oObject->aPlugins['default']));
     $this->assertTrue(isset($oObject->aPlugins['affiliates']));
     $file = MAX_PATH . '/lib/OA/Admin/Statistics/tests/data/TestStatisticsController.php';
     $aParams = array();
     $class = 'OA_Admin_Statistics_Test';
     $oObject =& OA_Admin_Statistics_Factory::_instantiateController($file, $class, $aParams);
     $this->assertIsA($oObject, $class);
     // Disable default error handling
     PEAR::pushErrorHandling(null);
     // Test _instantiateController for not existing controller
     $file = MAX_PATH . '/lib/OA/Admin/Statistics/tests/data/TestNotExists.php';
     $aParams = array();
     $class = 'OA_Admin_Statistics_Test';
     $oObject =& OA_Admin_Statistics_Factory::_instantiateController($file, $class, $aParams);
     $this->assertTrue(PEAR::isError($oObject));
     $this->assertEqual($oObject->getMessage(), 'OA_Admin_Statistics_Factory::_instantiateController() Unable to locate ' . basename($file));
     // Test _instantiateController for not existing class
     $file = MAX_PATH . '/lib/OA/Admin/Statistics/tests/data/TestStatisticsController.php';
     $aParams = array();
     $class = 'OA_Admin_not_exists';
     $oObject =& OA_Admin_Statistics_Factory::_instantiateController($file, $class, $aParams);
     $this->assertTrue(PEAR::isError($oObject));
     $this->assertEqual($oObject->getMessage(), 'OA_Admin_Statistics_Factory::_instantiateController() Class ' . $class . ' doesn\'t exist');
     // Restore default error handling
     PEAR::popErrorHandling();
 }
コード例 #2
0
ファイル: Factory.php プロジェクト: villos/tree_admin
 /**
  *  Create a new object of the appropriate OA_Admin_Statistics_Common subclass.
  *
  * @static
  * @param string $controllerType The controller type (e.g. "global-advertiser").
  * @param array  $aParams        An array of parameters to be passed as the parameter
  *                               to the constructor of the class instantiated.
  * @return OA_Admin_Statistics_Common The instantiated class that inherits from
  *                                    OA_Admin_Statistics_Common.
  */
 function &getController($controllerType = '', $aParams = null)
 {
     // Instantiate & return the required statistics class
     $result = OA_Admin_Statistics_Factory::_getControllerClass($controllerType, $aParams, $class, $file);
     if (PEAR::isError($result)) {
         return $result;
     }
     // To allow catch errors and pass it out without calling error handler
     PEAR::pushErrorHandling(null);
     $oStatsController = OA_Admin_Statistics_Factory::_instantiateController($file, $class, $aParams);
     PEAR::popErrorHandling();
     return $oStatsController;
 }