Parses the arguments for the dispatchShell() method.
public parseDispatchArguments ( array $args ) : array | ||
$args | array | Arguments fetch from the dispatchShell() method with func_get_args() |
return | array | First value has to be an array of the command arguments. Second value has to be an array of extra parameter to pass on to the dispatcher |
/** * Test the dispatchShell() arguments parser * * @return void */ public function testDispatchShellArgsParser() { $Shell = new Shell(); $expected = [['schema', 'create', 'DbAcl'], []]; // Shell::dispatchShell('schema create DbAcl'); $result = $Shell->parseDispatchArguments(['schema create DbAcl']); $this->assertEquals($expected, $result); // Shell::dispatchShell('schema', 'create', 'DbAcl'); $result = $Shell->parseDispatchArguments(['schema', 'create', 'DbAcl']); $this->assertEquals($expected, $result); // Shell::dispatchShell(['command' => 'schema create DbAcl']); $result = $Shell->parseDispatchArguments([['command' => 'schema create DbAcl']]); $this->assertEquals($expected, $result); // Shell::dispatchShell(['command' => ['schema', 'create', 'DbAcl']]); $result = $Shell->parseDispatchArguments([['command' => ['schema', 'create', 'DbAcl']]]); $this->assertEquals($expected, $result); $expected[1] = ['param' => 'value']; // Shell::dispatchShell(['command' => 'schema create DbAcl', 'extra' => ['param' => 'value']]); $result = $Shell->parseDispatchArguments([['command' => 'schema create DbAcl', 'extra' => ['param' => 'value']]]); $this->assertEquals($expected, $result); // Shell::dispatchShell(['command' => ['schema', 'create', 'DbAcl'], 'extra' => ['param' => 'value']]); $result = $Shell->parseDispatchArguments([['command' => ['schema', 'create', 'DbAcl'], 'extra' => ['param' => 'value']]]); $this->assertEquals($expected, $result); }