processAnswer() публичный статический Метод

This process
public static processAnswer ( Composer\IO\IOInterface $io, array $question, string | integer $answer, string $copyFilesKey ) : boolean
$io Composer\IO\IOInterface
$question array
$answer string | integer
$copyFilesKey string
Результат boolean
 /**
  * @dataProvider templateRendererProvider
  */
 public function testTemplateRenderer($containerOption, $routerOption, $templateRendererOption, $copyFilesKey, $expectedResponseStatusCode, $expectedTemplateRenderer)
 {
     $io = $this->prophesize('Composer\\IO\\IOInterface');
     $config = $this->getConfig();
     // Install container
     $containerResult = OptionalPackages::processAnswer($io->reveal(), $config['questions']['container'], $containerOption, $copyFilesKey);
     $this->assertTrue($containerResult);
     // Install router
     $routerResult = OptionalPackages::processAnswer($io->reveal(), $config['questions']['router'], $routerOption, $copyFilesKey);
     $this->assertTrue($routerResult);
     // Install template engine
     $templateEngineResult = OptionalPackages::processAnswer($io->reveal(), $config['questions']['template-engine'], $templateRendererOption, $copyFilesKey);
     $this->assertTrue($templateEngineResult);
     // Test container
     $container = $this->getContainer();
     $this->assertTrue($container->has(Expressive\Application::class));
     $this->assertTrue($container->has('Zend\\Expressive\\FinalHandler'));
     // Test config
     $config = $container->get('config');
     $this->assertEquals(Expressive\Container\TemplatedErrorHandlerFactory::class, $config['dependencies']['factories']['Zend\\Expressive\\FinalHandler']);
     // Test template renderer
     $templateRenderer = $container->get(Expressive\Template\TemplateRendererInterface::class);
     $this->assertInstanceOf(Expressive\Template\TemplateRendererInterface::class, $templateRenderer);
     $this->assertInstanceOf($expectedTemplateRenderer, $templateRenderer);
     if ($copyFilesKey == 'copy-files') {
         // Test home page for full install only, otherwise you get invalid template name errors
         $response = $this->getAppResponse();
         $this->assertEquals($expectedResponseStatusCode, $response->getStatusCode());
     }
 }
 /**
  * @dataProvider errorHandlerProvider
  */
 public function testErrorHandler($containerOption, $errorHandlerOption, $copyFilesKey, $expectedErrorHandler)
 {
     $io = $this->prophesize('Composer\\IO\\IOInterface');
     $config = $this->getConfig();
     // Install container
     $containerResult = OptionalPackages::processAnswer($io->reveal(), $config['questions']['container'], $containerOption, $copyFilesKey);
     $this->assertTrue($containerResult);
     // Install error handler
     $containerResult = OptionalPackages::processAnswer($io->reveal(), $config['questions']['error-handler'], $errorHandlerOption, $copyFilesKey);
     $this->assertTrue($containerResult);
     // Test container
     $container = $this->getContainer();
     $this->assertTrue($container->has('Zend\\Expressive\\FinalHandler'));
     $config = $container->get('config');
     $this->assertEquals($expectedErrorHandler, $config['dependencies']['factories']['Zend\\Expressive\\FinalHandler']);
 }
 public function testAnsweredWithPackage()
 {
     // Prepare the installer
     OptionalPackages::removeDevDependencies();
     $io = $this->prophesize('Composer\\IO\\IOInterface');
     $io->write(Argument::containingString('Adding package <info>league/container</info>'))->shouldBeCalled();
     $io->write(Argument::containingString('<warning>You need to edit public/index.php'))->shouldBeCalled();
     $config = $this->getConfig();
     $question = $config['questions']['container'];
     $answer = 'league/container:2.2.0';
     $copyFilesKey = 'minimal-files';
     $result = OptionalPackages::processAnswer($io->reveal(), $question, $answer, $copyFilesKey);
     $this->assertTrue($result);
     $this->assertFileNotExists($this->getProjectRoot() . '/config/container.php');
     $this->assertComposerHasPackages(['league/container']);
 }
 /**
  * @dataProvider routerProvider
  */
 public function testRouter($containerOption, $routerOption, $copyFilesKey, $expectedResponseStatusCode, $expectedRoutes, $expectedRouter)
 {
     $io = $this->prophesize('Composer\\IO\\IOInterface');
     $config = $this->getConfig();
     // Install container
     $containerResult = OptionalPackages::processAnswer($io->reveal(), $config['questions']['container'], $containerOption, $copyFilesKey);
     $this->assertTrue($containerResult);
     // Install router
     $routerResult = OptionalPackages::processAnswer($io->reveal(), $config['questions']['router'], $routerOption, $copyFilesKey);
     $this->assertTrue($routerResult);
     // Test container
     $container = $this->getContainer();
     $this->assertTrue($container->has(Router\RouterInterface::class));
     // Test config
     $config = $container->get('config');
     $this->assertEquals($expectedRouter, $config['dependencies']['invokables'][Router\RouterInterface::class]);
     $this->assertEquals($expectedRoutes, $config['routes']);
     // Test home page
     $response = $this->getAppResponse();
     $this->assertEquals($expectedResponseStatusCode, $response->getStatusCode());
 }
 /**
  * @dataProvider containerProvider
  */
 public function testContainer($containerOption, $routerOption, $copyFilesKey, $expectedResponseStatusCode, $expectedContainer)
 {
     $io = $this->prophesize('Composer\\IO\\IOInterface');
     $config = $this->getConfig();
     // Install container
     $containerResult = OptionalPackages::processAnswer($io->reveal(), $config['questions']['container'], $containerOption, $copyFilesKey);
     $this->assertTrue($containerResult);
     // Install router
     $routerResult = OptionalPackages::processAnswer($io->reveal(), $config['questions']['router'], $routerOption, $copyFilesKey);
     $this->assertTrue($routerResult);
     // Test container
     $container = $this->getContainer();
     $this->assertInstanceOf(ContainerInterface::class, $container);
     $this->assertInstanceOf($expectedContainer, $container);
     $this->assertTrue($container->has(Expressive\Helper\UrlHelper::class));
     $this->assertTrue($container->has(Expressive\Helper\ServerUrlHelper::class));
     $this->assertTrue($container->has(Expressive\Application::class));
     $this->assertTrue($container->has(Expressive\Router\RouterInterface::class));
     // Test home page
     $response = $this->getAppResponse();
     $this->assertEquals($expectedResponseStatusCode, $response->getStatusCode());
 }