Пример #1
0
 public function testConstructor()
 {
     $option = new InputOption('foo');
     $this->assertEquals('foo', $option->getName(), '__construct() takes a name as its first argument');
     $option = new InputOption('--foo');
     $this->assertEquals('foo', $option->getName(), '__construct() removes the leading -- of the option name');
     try {
         $option = new InputOption('foo', 'f', InputOption::PARAMETER_IS_ARRAY);
         $this->fail('->setDefault() throws an Exception if PARAMETER_IS_ARRAY option is used when an option does not accept a value');
     } catch (\Exception $e) {
         $this->assertInstanceOf('\\Exception', $e, '->setDefault() throws an Exception if PARAMETER_IS_ARRAY option is used when an option does not accept a value');
         $this->assertEquals('Impossible to have an option mode PARAMETER_IS_ARRAY if the option does not accept a parameter.', $e->getMessage());
     }
     // shortcut argument
     $option = new InputOption('foo', 'f');
     $this->assertEquals('f', $option->getShortcut(), '__construct() can take a shortcut as its second argument');
     $option = new InputOption('foo', '-f');
     $this->assertEquals('f', $option->getShortcut(), '__construct() removes the leading - of the shortcut');
     // mode argument
     $option = new InputOption('foo', 'f');
     $this->assertFalse($option->acceptParameter(), '__construct() gives a "Option::PARAMETER_NONE" mode by default');
     $this->assertFalse($option->isParameterRequired(), '__construct() gives a "Option::PARAMETER_NONE" mode by default');
     $this->assertFalse($option->isParameterOptional(), '__construct() gives a "Option::PARAMETER_NONE" mode by default');
     $option = new InputOption('foo', 'f', null);
     $this->assertFalse($option->acceptParameter(), '__construct() can take "Option::PARAMETER_NONE" as its mode');
     $this->assertFalse($option->isParameterRequired(), '__construct() can take "Option::PARAMETER_NONE" as its mode');
     $this->assertFalse($option->isParameterOptional(), '__construct() can take "Option::PARAMETER_NONE" as its mode');
     $option = new InputOption('foo', 'f', InputOption::PARAMETER_NONE);
     $this->assertFalse($option->acceptParameter(), '__construct() can take "Option::PARAMETER_NONE" as its mode');
     $this->assertFalse($option->isParameterRequired(), '__construct() can take "Option::PARAMETER_NONE" as its mode');
     $this->assertFalse($option->isParameterOptional(), '__construct() can take "Option::PARAMETER_NONE" as its mode');
     $option = new InputOption('foo', 'f', InputOption::PARAMETER_REQUIRED);
     $this->assertTrue($option->acceptParameter(), '__construct() can take "Option::PARAMETER_REQUIRED" as its mode');
     $this->assertTrue($option->isParameterRequired(), '__construct() can take "Option::PARAMETER_REQUIRED" as its mode');
     $this->assertFalse($option->isParameterOptional(), '__construct() can take "Option::PARAMETER_REQUIRED" as its mode');
     $option = new InputOption('foo', 'f', InputOption::PARAMETER_OPTIONAL);
     $this->assertTrue($option->acceptParameter(), '__construct() can take "Option::PARAMETER_OPTIONAL" as its mode');
     $this->assertFalse($option->isParameterRequired(), '__construct() can take "Option::PARAMETER_OPTIONAL" as its mode');
     $this->assertTrue($option->isParameterOptional(), '__construct() can take "Option::PARAMETER_OPTIONAL" as its mode');
     try {
         $option = new InputOption('foo', 'f', 'ANOTHER_ONE');
         $this->fail('__construct() throws an Exception if the mode is not valid');
     } catch (\Exception $e) {
         $this->assertInstanceOf('\\Exception', $e, '__construct() throws an Exception if the mode is not valid');
         $this->assertEquals('Option mode "ANOTHER_ONE" is not valid.', $e->getMessage());
     }
 }
Пример #2
0
 * file that was distributed with this source code.
 */

require_once __DIR__.'/../../../../bootstrap.php';

use Symfony\Components\Console\Input\InputOption;
use Symfony\Components\Console\Exception;

$t = new LimeTest(34);

// __construct()
$t->diag('__construct()');
$option = new InputOption('foo');
$t->is($option->getName(), 'foo', '__construct() takes a name as its first argument');
$option = new InputOption('--foo');
$t->is($option->getName(), 'foo', '__construct() removes the leading -- of the option name');

try
{
  $option = new InputOption('foo', 'f', InputOption::PARAMETER_IS_ARRAY);
  $t->fail('->setDefault() throws an Exception if PARAMETER_IS_ARRAY option is used when an option does not accept a value');
}
catch (\Exception $e)
{
  $t->pass('->setDefault() throws an Exception if PARAMETER_IS_ARRAY option is used when an option does not accept a value');
}

// shortcut argument
$option = new InputOption('foo', 'f');
$t->is($option->getShortcut(), 'f', '__construct() can take a shortcut as its second argument');
$option = new InputOption('foo', '-f');