/** * Constructor. * * @param sfProjectConfiguration $configuration The project configuration * @param string $rootDir The plugin root directory * @param string $name The plugin name */ public function __construct(sfProjectConfiguration $configuration, $rootDir = null, $name = null) { $this->configuration = $configuration; $this->dispatcher = $configuration->getEventDispatcher(); $this->rootDir = null === $rootDir ? $this->guessRootDir() : realpath($rootDir); $this->name = null === $name ? $this->guessName() : $name; $this->setup(); $this->configure(); if (!$this->configuration instanceof sfApplicationConfiguration) { $this->initializeAutoload(); $this->initialize(); } }
/** * @param sfProjectConfiguration $configuration * * @return fpErrorNotifier */ public static function initialize(sfProjectConfiguration $configuration) { if (empty(self::$instance)) { $configFiles = $configuration->getConfigPaths('config/notify.yml'); $config = sfDefineEnvironmentConfigHandler::getConfiguration($configFiles); foreach ($config as $name => $value) { sfConfig::set("sf_notify_{$name}", $value); } self::$instance = new self($configuration->getEventDispatcher()); self::getInstance()->handler()->initialize(); } return self::$instance; }
{ public function setup() { $this->enablePlugins('sfAutoloadPlugin'); } } // ->guessRootDir() ->guessName() $t->diag('->guessRootDir() ->guessName()'); $configuration = new sfProjectConfiguration($rootDir); $pluginConfig = new sfAutoloadPluginConfiguration($configuration); $t->is($pluginConfig->getRootDir(), $pluginRoot, '->guessRootDir() guesses plugin root directory'); $t->is($pluginConfig->getName(), 'sfAutoloadPlugin', '->guessName() guesses plugin name'); // ->filterTestFiles() $t->diag('->filterTestFiles()'); // test:all $task = new sfTestAllTask($configuration->getEventDispatcher(), new sfFormatter()); $event = new sfEvent($task, 'task.test.filter_test_files', array('arguments' => array(), 'options' => array())); $files = $pluginConfig->filterTestFiles($event, array()); $t->is(count($files), 6, '->filterTestFiles() adds all plugin tests'); // test:functional $task = new sfTestFunctionalTask($configuration->getEventDispatcher(), new sfFormatter()); $event = new sfEvent($task, 'task.test.filter_test_files', array('arguments' => array('controller' => array()), 'options' => array())); $files = $pluginConfig->filterTestFiles($event, array()); $t->is(count($files), 3, '->filterTestFiles() adds functional plugin tests'); $task = new sfTestFunctionalTask($configuration->getEventDispatcher(), new sfFormatter()); $event = new sfEvent($task, 'task.test.filter_test_files', array('arguments' => array('controller' => array('BarFunctional')), 'options' => array())); $files = $pluginConfig->filterTestFiles($event, array()); $t->is(count($files), 1, '->filterTestFiles() adds functional plugin tests when a controller is specified'); $task = new sfTestFunctionalTask($configuration->getEventDispatcher(), new sfFormatter()); $event = new sfEvent($task, 'task.test.filter_test_files', array('arguments' => array('controller' => array('nested/NestedFunctional')), 'options' => array())); $files = $pluginConfig->filterTestFiles($event, array());
/** * Constructor. * * @see sfTask */ public function __construct(sfProjectConfiguration $configuration, sfFormatter $formatter) { parent::__construct($configuration->getEventDispatcher(), $formatter); $this->configuration = $configuration; $this->pluginConfiguration = $configuration->getPluginConfiguration('sfTaskExtraPlugin'); }
/** * * @param sfProjectConfiguration $cfg */ public function __construct(sfProjectConfiguration $cfg) { $this->dispatcher = $cfg->getEventDispatcher(); $this->configuration = $cfg; }