/** * This method override sfContext::initialize. It is charged to initialize the context * of the Management application based on the initialization of the Kernel. * @param sfApplicationConfiguration $configuration */ public function initialize(sfApplicationConfiguration $configuration) { //Initialize the kernel: Kernel::initialize(ProjectConfiguration::guessRootDir() . '/apps/'); //Build the dependencies table: Kernel::buildDependenciesTable(); //Build the installed modules: $modules = Kernel::buildInstalledModules(); //Get the currently installed cultures: parent::set('InstalledCultures', Kernel::getInstalledCultures($configuration)); //Check if everything is ok, //and make the status as an attribute of the calling application context: parent::set('KernelStatus', Kernel::check()); parent::set('DependenciesErrors', Kernel::getUnsatisfiedDependencies()); //Create the instance of the Kernel, containing only the installed modules list and the dependencies table, //and make it as an attribute of the calling application context: parent::set('Kernel', Kernel::createInstance()); parent::set('Modules', Module::checkAll(parent::get('Kernel')->getDependenciesTable(), $modules)); //Launch the 'classical' intialization process: the sfContext::initialize() method: parent::initialize($configuration); }
Kernel::initialize(''); $t->is(Kernel::getInstalledModules(), null, 'TEST OF: Kernel::initialize method with wrong path.'); $t->isnt(Kernel::getErrors(), null, 'TEST OF: Getting errors after Kernel::initialize method with wrong path.'); /*--------------------------------------------F20503--------------------------------------------------------*/ /*F20503-T01*/ Kernel::buildInstalledModules(); $t->isnt(Kernel::getErrors(), null, 'TEST OF: Instanciating modules without initializing kernel and dependencies table.'); /*F20503-T02*/ Kernel::initialize(dirname(__FILE__) . '/../../apps/'); $modules = Kernel::buildInstalledModules(); $t->is(Kernel::getErrors(), null, 'TEST OF: Instanciating modules with initializing kernel but without initializing dependencies table.'); $t->is($modules, false, 'TEST OF: Instanciating modules with initializing kernel but without initializing dependencies table.'); /*F20503-T03*/ Kernel::initialize(dirname(__FILE__) . '/../../apps/'); Kernel::buildDependenciesTable(); $modules = Kernel::buildInstalledModules(); $t->is(Kernel::getErrors(), null, 'TEST OF: Instanciating modules with initializing kernel and dependencies table.'); $t->isnt($modules, array(), 'TEST OF: Instanciating modules with initializing kernel and dependencies table.'); /*---------------------------------------------F20504-------------------------------------------------------*/ /*F20504-T01*/ $configuration = ProjectConfiguration::getApplicationConfiguration('core', '', true); $cultures = Kernel::getInstalledCultures($configuration); $t->is($cultures, null, 'TEST OF: Getting installed cultures without any application configuration.'); /*F20504-T02*/ $configuration = ProjectConfiguration::getApplicationConfiguration('core', 'dev', true); $cultures = Kernel::getInstalledCultures($configuration); $t->is_deeply($cultures, array(), 'TEST OF: Getting installed cultures with wrong application configuration.'); /*F20504-T03*/ $configuration = ProjectConfiguration::getApplicationConfiguration('mgmt', 'dev', true); $cultures = Kernel::getInstalledCultures($configuration); $t->isnt($cultures, null, 'TEST OF: Getting installed cultures with correct application configuration.');