/** * Verifies that we can find a base directory path. */ public function testFindBaseDir() { self::assertNull(Application::findBaseDir($this->dir)); mkdir($this->dir . '/sub/sub/sub/sub/sub', 0755, true); touch($this->dir . '/box.yml'); self::assertEquals($this->dir, Application::findBaseDir($this->dir . '/sub/sub/sub/sub/sub')); self::assertEquals($this->dir, Application::findBaseDir($this->dir)); }
/** * Sets up the container. * * @param ContainerBuilder $container The container. * @param Application $app The application. * @param string $dir The base directory path. */ private static function setUp(ContainerBuilder $container, Application $app, $dir = null) { $container->setParameter('box.console.name', 'Box'); $container->setParameter('box.console.version', '0.0.0'); self::registerLogger($container); self::registerSharedEventDispatcher($container); self::registerProcessors($container); /** @var Extension $extension */ foreach (ExtensionCollection::getInstance() as $extension) { $app->registerExtension($extension); } self::loadConfig($container, $dir); foreach (ExtensionCollection::getInstance() as $extension) { if ($container->hasExtension($extension->getAlias())) { $container->loadFromExtension($extension->getAlias()); } } }
/** * Creates the application. * * @param null|string $dir The project directory path. * * @return Application The new application. */ protected function createApp($dir = null) { $app = Application::create($dir); $app->getContainer()->get('box.console')->setAutoExit(false); return $app; }