Example #1
0
    function testPassArgvToAction()
    {
        $input = new lmbCliInput();
        $output = new lmbCliResponse();
        $input->strictMode(false);
        $input->read(array('foo.php', $cmd = $this->_randomName(), 'foo', '--dry-run', '-c', 'bar'));
        $runner = new lmbCliRunner($input, $output);
        $runner->setCommandSearchPath($this->tmp_dir);
        $runner->returnOnExit();
        $runner->throwOnError();
        $this->_createCommandClass($cmd, 'function foo($argv){var_dump($argv);}');
        ob_start();
        $runner->execute();
        $str = ob_get_contents();
        ob_end_clean();
        $expected = <<<EOD
array(3) {
  [0]=>
  string(9) "--dry-run"
  [1]=>
  string(2) "-c"
  [2]=>
  string(3) "bar"
}

EOD;
        $this->assertEqual($expected, $str);
    }
 function testProcessCommandValidateResult_Negative()
 {
     $input = new lmbCliInput();
     $output = new lmbCliOutput();
     $input->read(array('foo.php', '--required_param'));
     $runner = new lmbCliRunner($input, $output);
     $runner->returnOnExit();
     $file = $this->_createCommandClass('TestProcessCommandValidateResult_Negative', 'function execute() { echo "execute"; }', 'function validate() { echo "invalid"; return false; }', 'function help() { return "help"; }');
     ob_start();
     $runner->execute($file);
     $str = ob_get_contents();
     ob_end_clean();
     $this->assertEqual('invalidhelp', $str);
 }