mageekguy\atoum\script\arguments\parser::getValues PHP Method

getValues() public method

public getValues ( $argument = null )
    public function getValues($argument = null)
    {
        return $argument === null ? $this->values : (isset($this->values[$argument]) === false ? null : $this->values[$argument]);
    }

Usage Example

Beispiel #1
0
 public function testParse()
 {
     $this->assert('when using $_SERVER')->if($script = new \mock\mageekguy\atoum\script(uniqid()))->and($superglobals = new atoum\superglobals())->and($superglobals->_SERVER['argv'] = array())->and($parser = new script\arguments\parser($superglobals))->then->object($parser->parse($script))->isIdenticalTo($parser)->array($parser->getValues())->isEmpty()->if($superglobals->_SERVER['argv'] = array('scriptName'))->then->object($parser->parse($script))->isIdenticalTo($parser)->array($parser->getValues())->isEmpty()->if($superglobals->_SERVER['argv'] = array('scriptName', '-a'))->and($parser->addHandler(function ($script, $argument, $value) use(&$invokeA) {
         $invokeA++;
     }, array('-a')))->then->object($parser->parse($script))->isIdenticalTo($parser)->array($parser->getValues())->isEqualTo(array('-a' => array()))->integer($invokeA)->isEqualTo(1)->if($superglobals->_SERVER['argv'] = array('scriptName', '-a', '-b'))->and($parser->addHandler(function ($script, $argument, $value) use(&$invokeB) {
         $invokeB++;
     }, array('-b')))->then->object($parser->parse($script))->isIdenticalTo($parser)->array($parser->getValues())->isEqualTo(array('-a' => array(), '-b' => array()))->integer($invokeA)->isEqualTo(2)->integer($invokeB)->isEqualTo(1)->if($superglobals->_SERVER['argv'] = array('scriptName', '-a', 'a1'))->then->object($parser->parse($script))->isIdenticalTo($parser)->array($parser->getValues())->isEqualTo(array('-a' => array('a1')))->integer($invokeA)->isEqualTo(3)->integer($invokeB)->isEqualTo(1)->if($superglobals->_SERVER['argv'] = array('scriptName', '-a', 'a1', 'a2'))->then->object($parser->parse($script))->isIdenticalTo($parser)->array($parser->getValues())->isEqualTo(array('-a' => array('a1', 'a2')))->integer($invokeA)->isEqualTo(4)->integer($invokeB)->isEqualTo(1)->if($superglobals->_SERVER['argv'] = array('scriptName', '-a', 'a1', 'a2', '-b'))->then->object($parser->parse($script))->isIdenticalTo($parser)->array($parser->getValues())->isEqualTo(array('-a' => array('a1', 'a2'), '-b' => array()))->integer($invokeA)->isEqualTo(5)->integer($invokeB)->isEqualTo(2)->if($superglobals->_SERVER['argv'] = array('scriptName', '-a', 'a1', 'a2', '-b', 'b1', 'b2', 'b3'))->then->object($parser->parse($script))->isIdenticalTo($parser)->array($parser->getValues())->isEqualTo(array('-a' => array('a1', 'a2'), '-b' => array('b1', 'b2', 'b3')))->integer($invokeA)->isEqualTo(6)->integer($invokeB)->isEqualTo(3)->if($superglobals->_SERVER['argv'] = array('scriptName', '-a', 'a1', 'a2', '-b', 'b1', 'b2', 'b3', '--c'))->and($parser->addHandler(function ($script, $argument, $value) use(&$invokeC) {
         $invokeC++;
     }, array('--c')))->then->object($parser->parse($script))->isIdenticalTo($parser)->array($parser->getValues())->isEqualTo(array('-a' => array('a1', 'a2'), '-b' => array('b1', 'b2', 'b3'), '--c' => array()))->integer($invokeA)->isEqualTo(7)->integer($invokeB)->isEqualTo(4)->integer($invokeC)->isEqualTo(1)->assert('when using argument')->if($superglobals->_SERVER['argv'] = array())->then->object($parser->parse($script, array()))->isIdenticalTo($parser)->array($parser->getValues())->isEmpty()->integer($invokeA)->isEqualTo(7)->integer($invokeB)->isEqualTo(4)->integer($invokeC)->isEqualTo(1)->object($parser->parse($script, array('-a')))->isIdenticalTo($parser)->array($parser->getValues())->isEqualTo(array('-a' => array()))->integer($invokeA)->isEqualTo(8)->integer($invokeB)->isEqualTo(4)->integer($invokeC)->isEqualTo(1)->object($parser->parse($script, array('-a', '-b')))->isIdenticalTo($parser)->array($parser->getValues())->isEqualTo(array('-a' => array(), '-b' => array()))->integer($invokeA)->isEqualTo(9)->integer($invokeB)->isEqualTo(5)->integer($invokeC)->isEqualTo(1)->object($parser->parse($script, array('-a', 'a1')))->isIdenticalTo($parser)->array($parser->getValues())->isEqualTo(array('-a' => array('a1')))->integer($invokeA)->isEqualTo(10)->integer($invokeB)->isEqualTo(5)->integer($invokeC)->isEqualTo(1)->object($parser->parse($script, array('-a', 'a1', 'a2')))->isIdenticalTo($parser)->array($parser->getValues())->isEqualTo(array('-a' => array('a1', 'a2')))->integer($invokeA)->isEqualTo(11)->integer($invokeB)->isEqualTo(5)->integer($invokeC)->isEqualTo(1)->object($parser->parse($script, array('-a', 'a1', 'a2', '-b')))->isIdenticalTo($parser)->array($parser->getValues())->isEqualTo(array('-a' => array('a1', 'a2'), '-b' => array()))->integer($invokeA)->isEqualTo(12)->integer($invokeB)->isEqualTo(6)->integer($invokeC)->isEqualTo(1)->object($parser->parse($script, array('-a', 'a1', 'a2', '-b', 'b1', 'b2', 'b3')))->isIdenticalTo($parser)->array($parser->getValues())->isEqualTo(array('-a' => array('a1', 'a2'), '-b' => array('b1', 'b2', 'b3')))->integer($invokeA)->isEqualTo(13)->integer($invokeB)->isEqualTo(7)->integer($invokeC)->isEqualTo(1)->object($parser->parse($script, array('-a', 'a1', 'a2', '-b', 'b1', 'b2', 'b3', '--c')))->isIdenticalTo($parser)->array($parser->getValues())->isEqualTo(array('-a' => array('a1', 'a2'), '-b' => array('b1', 'b2', 'b3'), '--c' => array()))->integer($invokeA)->isEqualTo(14)->integer($invokeB)->isEqualTo(8)->integer($invokeC)->isEqualTo(2)->exception(function () use($parser, $script) {
         $parser->parse($script, array('b'));
     })->isInstanceOf('mageekguy\\atoum\\exceptions\\runtime\\unexpectedValue')->hasMessage('First argument \'b\' is invalid')->if($superglobals->_SERVER['argv'] = array('scriptName', '-a', 'a1', 'a2', '-b', 'b1', 'b2', 'b3', '-d', 'd1', 'd2', '--c'))->and($parser->addHandler(function ($script, $argument, $value) {
     }, array('-d'), PHP_INT_MAX))->then->object($parser->parse($script))->isIdenticalTo($parser)->array($parser->getValues())->isEqualTo(array('-d' => array('d1', 'd2'), '-a' => array('a1', 'a2'), '-b' => array('b1', 'b2', 'b3'), '--c' => array()))->if($superglobals->_SERVER['argv'] = array('scriptName', '-d', 'd1', 'd2', '-a', 'a1', 'a2', '-b', 'b1', 'b2', 'b3', '--c'))->then->object($parser->parse($script))->isIdenticalTo($parser)->array($parser->getValues())->isEqualTo(array('-d' => array('d1', 'd2'), '-a' => array('a1', 'a2'), '-b' => array('b1', 'b2', 'b3'), '--c' => array()));
 }
All Usage Examples Of mageekguy\atoum\script\arguments\parser::getValues