X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=vendor%2Fconsolidation%2Fannotated-command%2Ftests%2Fsrc%2FExampleCommandFile.php;fp=vendor%2Fconsolidation%2Fannotated-command%2Ftests%2Fsrc%2FExampleCommandFile.php;h=0000000000000000000000000000000000000000;hp=1a9afef5bfc1ae47fa60a3634ff71fb3b6f8ac80;hb=0bf8d09d2542548982e81a441b1f16e75873a04f;hpb=74df008bdbb3a11eeea356744f39b802369bda3c diff --git a/vendor/consolidation/annotated-command/tests/src/ExampleCommandFile.php b/vendor/consolidation/annotated-command/tests/src/ExampleCommandFile.php deleted file mode 100644 index 1a9afef5b..000000000 --- a/vendor/consolidation/annotated-command/tests/src/ExampleCommandFile.php +++ /dev/null @@ -1,521 +0,0 @@ -state = $state; - } - - public function setOutput($output) - { - $this->output = $output; - } - - /** - * Import config from a config directory. - * - * @command config:import - * @param $label A config directory label (i.e. a key in \$config_directories array in settings.php). - * @interact-config-label - * @option preview Format for displaying proposed changes. Recognized values: list, diff. - * @option source An arbitrary directory that holds the configuration files. An alternative to label argument - * @option partial Allows for partial config imports from the source directory. Only updates and new configs will be processed with this flag (missing configs will not be deleted). - * @aliases cim,config-import - */ - public function import($label = null, $options = ['preview' => 'list', 'source' => InputOption::VALUE_REQUIRED, 'partial' => false]) - { - } - - /** - * Calculate the fibonacci sequence between two numbers. - * - * Graphic output will look like - * +----+---+-------------+ - * | | | | - * | |-+-| | - * |----+-+-+ | - * | | | - * | | | - * | | | - * +--------+-------------+ - * - * @param int $start Number to start from - * @param int $steps Number of steps to perform - * @param array $opts - * @option $graphic Display the sequence graphically using cube - * representation - */ - public function fibonacci($start, $steps, $opts = ['graphic' => false]) - { - } - - /** - * Code sniffer. - * - * Run the PHP Codesniffer on a file or directory. - * - * @param string $file - * A file or directory to analyze. - * @option $autofix Whether to run the automatic fixer or not. - * @option $strict Show warnings as well as errors. - * Default is to show only errors. - */ - public function sniff( - $file = 'src', - array $options = [ - 'autofix' => false, - 'strict' => false, - ] - ) { - return var_export($options, true); - } - - /** - * This is the my:cat command - * - * This command will concatenate two parameters. If the --flip flag - * is provided, then the result is the concatenation of two and one. - * - * @param string $one The first parameter. - * @param string $two The other parameter. - * @option boolean $flip Whether or not the second parameter should come first in the result. - * @aliases c - * @usage bet alpha --flip - * Concatenate "alpha" and "bet". - * @arbitrary This annotation is here merely as a marker used in testing. - */ - public function myCat($one, $two = '', array $options = ['flip' => false]) - { - if ($options['flip']) { - return "{$two}{$one}"; - } - return "{$one}{$two}"; - } - - /** - * @command my:repeat - */ - public function myRepeat($one, $two = '', array $options = ['repeat' => 1]) - { - return str_repeat("{$one}{$two}", $options['repeat']); - } - - /** - * This is the my:join command - * - * This command will join its parameters together. It can also reverse and repeat its arguments. - * - * @command my:join - * @usage a b - * Join a and b to produce "a,b" - * @usage - * Example with no parameters or options - */ - public function myJoin(array $args, array $options = ['flip' => false, 'repeat' => 1]) - { - if ($options['flip']) { - $args = array_reverse($args); - } - $result = implode('', $args); - return str_repeat($result, $options['repeat']); - } - - /** - * This is a command with no options - * - * This command will concatenate two parameters. - * - * @param $one The first parameter. - * @param $two The other parameter. - * @aliases nope - * @usage alpha bet - * Concatenate "alpha" and "bet". - */ - public function commandWithNoOptions($one, $two = 'default') - { - return "{$one}{$two}"; - } - - /** - * This command work with app's input and output - * - * @command command:with-io-parameters - */ - public function commandWithIOParameters(InputInterface $input, OutputInterface $output) - { - return $input->getFirstArgument(); - } - - /** - * This command has no arguments--only options - * - * Return a result only if not silent. - * - * @option silent Supress output. - */ - public function commandWithNoArguments(array $opts = ['silent|s' => false]) - { - if (!$opts['silent']) { - return "Hello, world"; - } - } - - /** - * Shortcut on annotation - * - * This command defines the option shortcut on the annotation instead of in the options array. - * - * @param $opts The options - * @option silent|s Supress output. - */ - public function shortcutOnAnnotation(array $opts = ['silent' => false]) - { - if (!$opts['silent']) { - return "Hello, world"; - } - } - - /** - * This is the test:arithmatic command - * - * This command will add one and two. If the --negate flag - * is provided, then the result is negated. - * - * @command test:arithmatic - * @param integer $one The first number to add. - * @param integer $two The other number to add. - * @option negate Whether or not the result should be negated. - * @aliases arithmatic - * @usage 2 2 --negate - * Add two plus two and then negate. - * @custom - * @dup one - * @dup two - */ - public function testArithmatic($one, $two = 2, array $options = ['negate' => false, 'unused' => 'bob']) - { - $result = $one + $two; - if ($options['negate']) { - $result = -$result; - } - - // Integer return codes are exit codes (errors), so - // return a the result as a string so that it will be printed. - return "$result"; - } - - /** - * This is the test:state command - * - * This command tests to see if the state of the Commandfile instance - */ - public function testState() - { - return $this->state; - } - - /** - * This is the test:passthrough command - * - * This command takes a variable number of parameters as - * an array and returns them as a csv. - */ - public function testPassthrough(array $params) - { - return implode(',', $params); - } - - /** - * This command wraps its parameter in []; its alter hook - * then wraps the result in <>. - */ - public function testHook($parameter) - { - return "[$parameter]"; - } - - /** - * Wrap the results of test:hook in <>. - * - * @hook alter test:hook - */ - public function hookTestHook($result) - { - return "<$result>"; - } - - /** - * This test is very similar to the preceding test, except - * it uses an annotation hook instead of a named-function hook. - * - * @hookme - * @before > - * @after < - */ - public function testAnnotationHook($parameter) - { - return "($parameter)"; - } - - /** - * Wrap the results of test:hook in whatever the @before and @after - * annotations contain. - * - * @hook alter @hookme - */ - public function hookTestAnnotatedHook($result, CommandData $commandData) - { - $before = $commandData->annotationData()->get('before', '-'); - $after = $commandData->annotationData()->get('after', '-'); - return "$before$result$after"; - } - - /** - * Alter the results of the hook with its command name. - * - * @hook alter @addmycommandname - */ - public function hookAddCommandName($result, CommandData $commandData) - { - $annotationData = $commandData->annotationData(); - return "$result from " . $annotationData['command']; - } - - /** - * Here is a hook with an explicit command annotation that we will alter - * with the preceeding hook - * - * @command alter-me - * @addmycommandname - */ - public function alterMe() - { - return "splendiferous"; - } - - /** - * Here is another hook that has no command annotation that should be - * altered with the default value for the command name - * - * @addmycommandname - */ - public function alterMeToo() - { - return "fantabulous"; - } - - /** - * @command test:replace-command - */ - public function testReplaceCommand($value) - { - $this->output->writeln($value); - } - - /** - * @hook replace-command test:replace-command - */ - public function hookTestReplaceCommandHook($value) - { - $this->output->writeln("bar"); - } - - /** - * @hook pre-command test:post-command - */ - public function hookTestPreCommandHook(CommandData $commandData) - { - // Use 'writeln' to detect order that hooks are called - $this->output->writeln("foo"); - } - - /** - * @command test:post-command - */ - public function testPostCommand($value) - { - $this->output->writeln($value); - } - - /** - * @hook post-command test:post-command - */ - public function hookTestPostCommandHook($result, CommandData $commandData) - { - // Use 'writeln' to detect order that hooks are called - $this->output->writeln("baz"); - } - - public function testHello($who) - { - return "Hello, $who."; - } - - public function testException($what) - { - throw new \Exception($what); - } - - /** - * @hook init test:hello - */ - public function initializeTestHello($input, AnnotationData $annotationData) - { - $who = $input->getArgument('who'); - if (!$who) { - $input->setArgument('who', 'Huey'); - } - } - - /** - * @hook command-event test:hello - */ - public function commandEventTestHello(ConsoleCommandEvent $event) - { - // Note that Symfony Console will not allow us to alter the - // input from this hook, so we'll just print something to - // show that this hook was executed. - $input = $event->getInput(); - $who = $input->getArgument('who'); - $this->output->writeln("Here comes $who!"); - } - - /** - * @hook interact test:hello - */ - public function interactTestHello($input, $output) - { - $who = $input->getArgument('who'); - if (!$who) { - $input->setArgument('who', 'Goofey'); - } - } - - /** - * @hook validate test:hello - */ - public function validateTestHello($commandData) - { - $args = $commandData->arguments(); - if ($args['who'] == 'Donald Duck') { - return new CommandError("I won't say hello to Donald Duck."); - } - if ($args['who'] == 'Drumph') { - throw new \Exception('Irrational value error.'); - } - } - - /** - * Test default values in arguments - * - * @param string|null $one - * @param string|null $two - * @return string - */ - public function defaults($one = null, $two = null) - { - if ($one && $two) { - return "$one and $two"; - } - if ($one) { - return "only $one"; - } - return "nothing provided"; - } - - /** - * @return string - */ - public function defaultOptionOne(array $options = ['foo' => '1']) - { - return "Foo is " . $options['foo']; - } - - /** - * @return string - */ - public function defaultOptionTwo(array $options = ['foo' => '2']) - { - return "Foo is " . $options['foo']; - } - - /** - * @return string - */ - public function defaultOptionNone(array $options = ['foo' => InputOption::VALUE_REQUIRED]) - { - return "Foo is " . $options['foo']; - } - - /** - * @return string - */ - public function defaultOptionalValue(array $options = ['foo' => InputOption::VALUE_OPTIONAL]) - { - return "Foo is " . var_export($options['foo'], true); - } - - /** - * @return string - */ - public function defaultOptionDefaultsToTrue(array $options = ['foo' => true]) - { - return "Foo is " . var_export($options['foo'], true); - } - - /** - * This is the test:required-array-option command - * - * This command will print all the valused of passed option - * - * @param array $opts - * @return string - */ - public function testRequiredArrayOption(array $opts = ['arr|a' => []]) - { - return implode(' ', $opts['arr']); - } - - /** - * This is the test:array-option command - * - * This command will print all the valused of passed option - * - * @param array $opts - * @return string - */ - public function testArrayOption(array $opts = ['arr|a' => ['1', '2', '3']]) - { - return implode(' ', $opts['arr']); - } - - /** - * @command global-options-only - */ - public function globalOptionsOnly($arg, array $options = []) - { - return "Arg is $arg, options[help] is " . var_export($options['help'], true) . "\n"; - } -}