ObjectsProvider.php 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. /*
  3. * This file is part of the Symfony package.
  4. *
  5. * (c) Fabien Potencier <fabien@symfony.com>
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. namespace Symfony\Component\Console\Tests\Descriptor;
  11. use Symfony\Component\Console\Input\InputArgument;
  12. use Symfony\Component\Console\Input\InputDefinition;
  13. use Symfony\Component\Console\Input\InputOption;
  14. use Symfony\Component\Console\Tests\Fixtures\DescriptorApplication1;
  15. use Symfony\Component\Console\Tests\Fixtures\DescriptorApplication2;
  16. use Symfony\Component\Console\Tests\Fixtures\DescriptorCommand1;
  17. use Symfony\Component\Console\Tests\Fixtures\DescriptorCommand2;
  18. /**
  19. * @author Jean-François Simon <contact@jfsimon.fr>
  20. */
  21. class ObjectsProvider
  22. {
  23. public static function getInputArguments()
  24. {
  25. return array(
  26. 'input_argument_1' => new InputArgument('argument_name', InputArgument::REQUIRED),
  27. 'input_argument_2' => new InputArgument('argument_name', InputArgument::IS_ARRAY, 'argument description'),
  28. 'input_argument_3' => new InputArgument('argument_name', InputArgument::OPTIONAL, 'argument description', 'default_value'),
  29. 'input_argument_4' => new InputArgument('argument_name', InputArgument::REQUIRED, "multiline\nargument description"),
  30. );
  31. }
  32. public static function getInputOptions()
  33. {
  34. return array(
  35. 'input_option_1' => new InputOption('option_name', 'o', InputOption::VALUE_NONE),
  36. 'input_option_2' => new InputOption('option_name', 'o', InputOption::VALUE_OPTIONAL, 'option description', 'default_value'),
  37. 'input_option_3' => new InputOption('option_name', 'o', InputOption::VALUE_REQUIRED, 'option description'),
  38. 'input_option_4' => new InputOption('option_name', 'o', InputOption::VALUE_IS_ARRAY | InputOption::VALUE_OPTIONAL, 'option description', array()),
  39. 'input_option_5' => new InputOption('option_name', 'o', InputOption::VALUE_REQUIRED, "multiline\noption description"),
  40. 'input_option_6' => new InputOption('option_name', array('o', 'O'), InputOption::VALUE_REQUIRED, 'option with multiple shortcuts'),
  41. );
  42. }
  43. public static function getInputDefinitions()
  44. {
  45. return array(
  46. 'input_definition_1' => new InputDefinition(),
  47. 'input_definition_2' => new InputDefinition(array(new InputArgument('argument_name', InputArgument::REQUIRED))),
  48. 'input_definition_3' => new InputDefinition(array(new InputOption('option_name', 'o', InputOption::VALUE_NONE))),
  49. 'input_definition_4' => new InputDefinition(array(
  50. new InputArgument('argument_name', InputArgument::REQUIRED),
  51. new InputOption('option_name', 'o', InputOption::VALUE_NONE),
  52. )),
  53. );
  54. }
  55. public static function getCommands()
  56. {
  57. return array(
  58. 'command_1' => new DescriptorCommand1(),
  59. 'command_2' => new DescriptorCommand2(),
  60. );
  61. }
  62. public static function getApplications()
  63. {
  64. return array(
  65. 'application_1' => new DescriptorApplication1(),
  66. 'application_2' => new DescriptorApplication2(),
  67. );
  68. }
  69. }