updated packages
This commit is contained in:
468
vendor/symfony/console/Tests/Input/ArgvInputTest.php
vendored
468
vendor/symfony/console/Tests/Input/ArgvInputTest.php
vendored
@@ -21,23 +21,23 @@ class ArgvInputTest extends TestCase
|
||||
{
|
||||
public function testConstructor()
|
||||
{
|
||||
$_SERVER['argv'] = array('cli.php', 'foo');
|
||||
$_SERVER['argv'] = ['cli.php', 'foo'];
|
||||
$input = new ArgvInput();
|
||||
$r = new \ReflectionObject($input);
|
||||
$p = $r->getProperty('tokens');
|
||||
$p->setAccessible(true);
|
||||
|
||||
$this->assertEquals(array('foo'), $p->getValue($input), '__construct() automatically get its input from the argv server variable');
|
||||
$this->assertEquals(['foo'], $p->getValue($input), '__construct() automatically get its input from the argv server variable');
|
||||
}
|
||||
|
||||
public function testParseArguments()
|
||||
{
|
||||
$input = new ArgvInput(array('cli.php', 'foo'));
|
||||
$input->bind(new InputDefinition(array(new InputArgument('name'))));
|
||||
$this->assertEquals(array('name' => 'foo'), $input->getArguments(), '->parse() parses required arguments');
|
||||
$input = new ArgvInput(['cli.php', 'foo']);
|
||||
$input->bind(new InputDefinition([new InputArgument('name')]));
|
||||
$this->assertEquals(['name' => 'foo'], $input->getArguments(), '->parse() parses required arguments');
|
||||
|
||||
$input->bind(new InputDefinition(array(new InputArgument('name'))));
|
||||
$this->assertEquals(array('name' => 'foo'), $input->getArguments(), '->parse() is stateless');
|
||||
$input->bind(new InputDefinition([new InputArgument('name')]));
|
||||
$this->assertEquals(['name' => 'foo'], $input->getArguments(), '->parse() is stateless');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -53,128 +53,128 @@ class ArgvInputTest extends TestCase
|
||||
|
||||
public function provideOptions()
|
||||
{
|
||||
return array(
|
||||
array(
|
||||
array('cli.php', '--foo'),
|
||||
array(new InputOption('foo')),
|
||||
array('foo' => true),
|
||||
return [
|
||||
[
|
||||
['cli.php', '--foo'],
|
||||
[new InputOption('foo')],
|
||||
['foo' => true],
|
||||
'->parse() parses long options without a value',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '--foo=bar'),
|
||||
array(new InputOption('foo', 'f', InputOption::VALUE_REQUIRED)),
|
||||
array('foo' => 'bar'),
|
||||
],
|
||||
[
|
||||
['cli.php', '--foo=bar'],
|
||||
[new InputOption('foo', 'f', InputOption::VALUE_REQUIRED)],
|
||||
['foo' => 'bar'],
|
||||
'->parse() parses long options with a required value (with a = separator)',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '--foo', 'bar'),
|
||||
array(new InputOption('foo', 'f', InputOption::VALUE_REQUIRED)),
|
||||
array('foo' => 'bar'),
|
||||
],
|
||||
[
|
||||
['cli.php', '--foo', 'bar'],
|
||||
[new InputOption('foo', 'f', InputOption::VALUE_REQUIRED)],
|
||||
['foo' => 'bar'],
|
||||
'->parse() parses long options with a required value (with a space separator)',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '--foo='),
|
||||
array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL)),
|
||||
array('foo' => ''),
|
||||
],
|
||||
[
|
||||
['cli.php', '--foo='],
|
||||
[new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL)],
|
||||
['foo' => ''],
|
||||
'->parse() parses long options with optional value which is empty (with a = separator) as empty string',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '--foo=', 'bar'),
|
||||
array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('name', InputArgument::REQUIRED)),
|
||||
array('foo' => ''),
|
||||
],
|
||||
[
|
||||
['cli.php', '--foo=', 'bar'],
|
||||
[new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('name', InputArgument::REQUIRED)],
|
||||
['foo' => ''],
|
||||
'->parse() parses long options with optional value without value specified or an empty string (with a = separator) followed by an argument as empty string',
|
||||
),
|
||||
array(
|
||||
array('cli.php', 'bar', '--foo'),
|
||||
array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('name', InputArgument::REQUIRED)),
|
||||
array('foo' => null),
|
||||
],
|
||||
[
|
||||
['cli.php', 'bar', '--foo'],
|
||||
[new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('name', InputArgument::REQUIRED)],
|
||||
['foo' => null],
|
||||
'->parse() parses long options with optional value which is empty (with a = separator) preceded by an argument',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '--foo', '', 'bar'),
|
||||
array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('name', InputArgument::REQUIRED)),
|
||||
array('foo' => ''),
|
||||
],
|
||||
[
|
||||
['cli.php', '--foo', '', 'bar'],
|
||||
[new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('name', InputArgument::REQUIRED)],
|
||||
['foo' => ''],
|
||||
'->parse() parses long options with optional value which is empty as empty string even followed by an argument',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '--foo'),
|
||||
array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL)),
|
||||
array('foo' => null),
|
||||
],
|
||||
[
|
||||
['cli.php', '--foo'],
|
||||
[new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL)],
|
||||
['foo' => null],
|
||||
'->parse() parses long options with optional value specified with no separator and no value as null',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '-f'),
|
||||
array(new InputOption('foo', 'f')),
|
||||
array('foo' => true),
|
||||
],
|
||||
[
|
||||
['cli.php', '-f'],
|
||||
[new InputOption('foo', 'f')],
|
||||
['foo' => true],
|
||||
'->parse() parses short options without a value',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '-fbar'),
|
||||
array(new InputOption('foo', 'f', InputOption::VALUE_REQUIRED)),
|
||||
array('foo' => 'bar'),
|
||||
],
|
||||
[
|
||||
['cli.php', '-fbar'],
|
||||
[new InputOption('foo', 'f', InputOption::VALUE_REQUIRED)],
|
||||
['foo' => 'bar'],
|
||||
'->parse() parses short options with a required value (with no separator)',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '-f', 'bar'),
|
||||
array(new InputOption('foo', 'f', InputOption::VALUE_REQUIRED)),
|
||||
array('foo' => 'bar'),
|
||||
],
|
||||
[
|
||||
['cli.php', '-f', 'bar'],
|
||||
[new InputOption('foo', 'f', InputOption::VALUE_REQUIRED)],
|
||||
['foo' => 'bar'],
|
||||
'->parse() parses short options with a required value (with a space separator)',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '-f', ''),
|
||||
array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL)),
|
||||
array('foo' => ''),
|
||||
],
|
||||
[
|
||||
['cli.php', '-f', ''],
|
||||
[new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL)],
|
||||
['foo' => ''],
|
||||
'->parse() parses short options with an optional empty value',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '-f', '', 'foo'),
|
||||
array(new InputArgument('name'), new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL)),
|
||||
array('foo' => ''),
|
||||
],
|
||||
[
|
||||
['cli.php', '-f', '', 'foo'],
|
||||
[new InputArgument('name'), new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL)],
|
||||
['foo' => ''],
|
||||
'->parse() parses short options with an optional empty value followed by an argument',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '-f', '', '-b'),
|
||||
array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputOption('bar', 'b')),
|
||||
array('foo' => '', 'bar' => true),
|
||||
],
|
||||
[
|
||||
['cli.php', '-f', '', '-b'],
|
||||
[new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputOption('bar', 'b')],
|
||||
['foo' => '', 'bar' => true],
|
||||
'->parse() parses short options with an optional empty value followed by an option',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '-f', '-b', 'foo'),
|
||||
array(new InputArgument('name'), new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputOption('bar', 'b')),
|
||||
array('foo' => null, 'bar' => true),
|
||||
],
|
||||
[
|
||||
['cli.php', '-f', '-b', 'foo'],
|
||||
[new InputArgument('name'), new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputOption('bar', 'b')],
|
||||
['foo' => null, 'bar' => true],
|
||||
'->parse() parses short options with an optional value which is not present',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '-fb'),
|
||||
array(new InputOption('foo', 'f'), new InputOption('bar', 'b')),
|
||||
array('foo' => true, 'bar' => true),
|
||||
],
|
||||
[
|
||||
['cli.php', '-fb'],
|
||||
[new InputOption('foo', 'f'), new InputOption('bar', 'b')],
|
||||
['foo' => true, 'bar' => true],
|
||||
'->parse() parses short options when they are aggregated as a single one',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '-fb', 'bar'),
|
||||
array(new InputOption('foo', 'f'), new InputOption('bar', 'b', InputOption::VALUE_REQUIRED)),
|
||||
array('foo' => true, 'bar' => 'bar'),
|
||||
],
|
||||
[
|
||||
['cli.php', '-fb', 'bar'],
|
||||
[new InputOption('foo', 'f'), new InputOption('bar', 'b', InputOption::VALUE_REQUIRED)],
|
||||
['foo' => true, 'bar' => 'bar'],
|
||||
'->parse() parses short options when they are aggregated as a single one and the last one has a required value',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '-fb', 'bar'),
|
||||
array(new InputOption('foo', 'f'), new InputOption('bar', 'b', InputOption::VALUE_OPTIONAL)),
|
||||
array('foo' => true, 'bar' => 'bar'),
|
||||
],
|
||||
[
|
||||
['cli.php', '-fb', 'bar'],
|
||||
[new InputOption('foo', 'f'), new InputOption('bar', 'b', InputOption::VALUE_OPTIONAL)],
|
||||
['foo' => true, 'bar' => 'bar'],
|
||||
'->parse() parses short options when they are aggregated as a single one and the last one has an optional value',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '-fbbar'),
|
||||
array(new InputOption('foo', 'f'), new InputOption('bar', 'b', InputOption::VALUE_OPTIONAL)),
|
||||
array('foo' => true, 'bar' => 'bar'),
|
||||
],
|
||||
[
|
||||
['cli.php', '-fbbar'],
|
||||
[new InputOption('foo', 'f'), new InputOption('bar', 'b', InputOption::VALUE_OPTIONAL)],
|
||||
['foo' => true, 'bar' => 'bar'],
|
||||
'->parse() parses short options when they are aggregated as a single one and the last one has an optional value with no separator',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '-fbbar'),
|
||||
array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputOption('bar', 'b', InputOption::VALUE_OPTIONAL)),
|
||||
array('foo' => 'bbar', 'bar' => null),
|
||||
],
|
||||
[
|
||||
['cli.php', '-fbbar'],
|
||||
[new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputOption('bar', 'b', InputOption::VALUE_OPTIONAL)],
|
||||
['foo' => 'bbar', 'bar' => null],
|
||||
'->parse() parses short options when they are aggregated as a single one and one of them takes a value',
|
||||
),
|
||||
);
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -195,162 +195,170 @@ class ArgvInputTest extends TestCase
|
||||
|
||||
public function provideInvalidInput()
|
||||
{
|
||||
return array(
|
||||
array(
|
||||
array('cli.php', '--foo'),
|
||||
new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_REQUIRED))),
|
||||
return [
|
||||
[
|
||||
['cli.php', '--foo'],
|
||||
new InputDefinition([new InputOption('foo', 'f', InputOption::VALUE_REQUIRED)]),
|
||||
'The "--foo" option requires a value.',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '-f'),
|
||||
new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_REQUIRED))),
|
||||
],
|
||||
[
|
||||
['cli.php', '-f'],
|
||||
new InputDefinition([new InputOption('foo', 'f', InputOption::VALUE_REQUIRED)]),
|
||||
'The "--foo" option requires a value.',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '-ffoo'),
|
||||
new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_NONE))),
|
||||
],
|
||||
[
|
||||
['cli.php', '-ffoo'],
|
||||
new InputDefinition([new InputOption('foo', 'f', InputOption::VALUE_NONE)]),
|
||||
'The "-o" option does not exist.',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '--foo=bar'),
|
||||
new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_NONE))),
|
||||
],
|
||||
[
|
||||
['cli.php', '--foo=bar'],
|
||||
new InputDefinition([new InputOption('foo', 'f', InputOption::VALUE_NONE)]),
|
||||
'The "--foo" option does not accept a value.',
|
||||
),
|
||||
array(
|
||||
array('cli.php', 'foo', 'bar'),
|
||||
],
|
||||
[
|
||||
['cli.php', 'foo', 'bar'],
|
||||
new InputDefinition(),
|
||||
'No arguments expected, got "foo".',
|
||||
),
|
||||
array(
|
||||
array('cli.php', 'foo', 'bar'),
|
||||
new InputDefinition(array(new InputArgument('number'))),
|
||||
],
|
||||
[
|
||||
['cli.php', 'foo', 'bar'],
|
||||
new InputDefinition([new InputArgument('number')]),
|
||||
'Too many arguments, expected arguments "number".',
|
||||
),
|
||||
array(
|
||||
array('cli.php', 'foo', 'bar', 'zzz'),
|
||||
new InputDefinition(array(new InputArgument('number'), new InputArgument('county'))),
|
||||
],
|
||||
[
|
||||
['cli.php', 'foo', 'bar', 'zzz'],
|
||||
new InputDefinition([new InputArgument('number'), new InputArgument('county')]),
|
||||
'Too many arguments, expected arguments "number" "county".',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '--foo'),
|
||||
],
|
||||
[
|
||||
['cli.php', '--foo'],
|
||||
new InputDefinition(),
|
||||
'The "--foo" option does not exist.',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '-f'),
|
||||
],
|
||||
[
|
||||
['cli.php', '-f'],
|
||||
new InputDefinition(),
|
||||
'The "-f" option does not exist.',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '-1'),
|
||||
new InputDefinition(array(new InputArgument('number'))),
|
||||
],
|
||||
[
|
||||
['cli.php', '-1'],
|
||||
new InputDefinition([new InputArgument('number')]),
|
||||
'The "-1" option does not exist.',
|
||||
),
|
||||
array(
|
||||
array('cli.php', '-fЩ'),
|
||||
new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_NONE))),
|
||||
],
|
||||
[
|
||||
['cli.php', '-fЩ'],
|
||||
new InputDefinition([new InputOption('foo', 'f', InputOption::VALUE_NONE)]),
|
||||
'The "-Щ" option does not exist.',
|
||||
),
|
||||
);
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
public function testParseArrayArgument()
|
||||
{
|
||||
$input = new ArgvInput(array('cli.php', 'foo', 'bar', 'baz', 'bat'));
|
||||
$input->bind(new InputDefinition(array(new InputArgument('name', InputArgument::IS_ARRAY))));
|
||||
$input = new ArgvInput(['cli.php', 'foo', 'bar', 'baz', 'bat']);
|
||||
$input->bind(new InputDefinition([new InputArgument('name', InputArgument::IS_ARRAY)]));
|
||||
|
||||
$this->assertEquals(array('name' => array('foo', 'bar', 'baz', 'bat')), $input->getArguments(), '->parse() parses array arguments');
|
||||
$this->assertEquals(['name' => ['foo', 'bar', 'baz', 'bat']], $input->getArguments(), '->parse() parses array arguments');
|
||||
}
|
||||
|
||||
public function testParseArrayOption()
|
||||
{
|
||||
$input = new ArgvInput(array('cli.php', '--name=foo', '--name=bar', '--name=baz'));
|
||||
$input->bind(new InputDefinition(array(new InputOption('name', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY))));
|
||||
$input = new ArgvInput(['cli.php', '--name=foo', '--name=bar', '--name=baz']);
|
||||
$input->bind(new InputDefinition([new InputOption('name', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY)]));
|
||||
|
||||
$this->assertEquals(array('name' => array('foo', 'bar', 'baz')), $input->getOptions(), '->parse() parses array options ("--option=value" syntax)');
|
||||
$this->assertEquals(['name' => ['foo', 'bar', 'baz']], $input->getOptions(), '->parse() parses array options ("--option=value" syntax)');
|
||||
|
||||
$input = new ArgvInput(array('cli.php', '--name', 'foo', '--name', 'bar', '--name', 'baz'));
|
||||
$input->bind(new InputDefinition(array(new InputOption('name', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY))));
|
||||
$this->assertEquals(array('name' => array('foo', 'bar', 'baz')), $input->getOptions(), '->parse() parses array options ("--option value" syntax)');
|
||||
$input = new ArgvInput(['cli.php', '--name', 'foo', '--name', 'bar', '--name', 'baz']);
|
||||
$input->bind(new InputDefinition([new InputOption('name', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY)]));
|
||||
$this->assertEquals(['name' => ['foo', 'bar', 'baz']], $input->getOptions(), '->parse() parses array options ("--option value" syntax)');
|
||||
|
||||
$input = new ArgvInput(array('cli.php', '--name=foo', '--name=bar', '--name='));
|
||||
$input->bind(new InputDefinition(array(new InputOption('name', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY))));
|
||||
$this->assertSame(array('name' => array('foo', 'bar', '')), $input->getOptions(), '->parse() parses empty array options as null ("--option=value" syntax)');
|
||||
$input = new ArgvInput(['cli.php', '--name=foo', '--name=bar', '--name=']);
|
||||
$input->bind(new InputDefinition([new InputOption('name', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY)]));
|
||||
$this->assertSame(['name' => ['foo', 'bar', '']], $input->getOptions(), '->parse() parses empty array options as null ("--option=value" syntax)');
|
||||
|
||||
$input = new ArgvInput(array('cli.php', '--name', 'foo', '--name', 'bar', '--name', '--anotherOption'));
|
||||
$input->bind(new InputDefinition(array(
|
||||
$input = new ArgvInput(['cli.php', '--name', 'foo', '--name', 'bar', '--name', '--anotherOption']);
|
||||
$input->bind(new InputDefinition([
|
||||
new InputOption('name', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY),
|
||||
new InputOption('anotherOption', null, InputOption::VALUE_NONE),
|
||||
)));
|
||||
$this->assertSame(array('name' => array('foo', 'bar', null), 'anotherOption' => true), $input->getOptions(), '->parse() parses empty array options ("--option value" syntax)');
|
||||
]));
|
||||
$this->assertSame(['name' => ['foo', 'bar', null], 'anotherOption' => true], $input->getOptions(), '->parse() parses empty array options ("--option value" syntax)');
|
||||
}
|
||||
|
||||
public function testParseNegativeNumberAfterDoubleDash()
|
||||
{
|
||||
$input = new ArgvInput(array('cli.php', '--', '-1'));
|
||||
$input->bind(new InputDefinition(array(new InputArgument('number'))));
|
||||
$this->assertEquals(array('number' => '-1'), $input->getArguments(), '->parse() parses arguments with leading dashes as arguments after having encountered a double-dash sequence');
|
||||
$input = new ArgvInput(['cli.php', '--', '-1']);
|
||||
$input->bind(new InputDefinition([new InputArgument('number')]));
|
||||
$this->assertEquals(['number' => '-1'], $input->getArguments(), '->parse() parses arguments with leading dashes as arguments after having encountered a double-dash sequence');
|
||||
|
||||
$input = new ArgvInput(array('cli.php', '-f', 'bar', '--', '-1'));
|
||||
$input->bind(new InputDefinition(array(new InputArgument('number'), new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL))));
|
||||
$this->assertEquals(array('foo' => 'bar'), $input->getOptions(), '->parse() parses arguments with leading dashes as options before having encountered a double-dash sequence');
|
||||
$this->assertEquals(array('number' => '-1'), $input->getArguments(), '->parse() parses arguments with leading dashes as arguments after having encountered a double-dash sequence');
|
||||
$input = new ArgvInput(['cli.php', '-f', 'bar', '--', '-1']);
|
||||
$input->bind(new InputDefinition([new InputArgument('number'), new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL)]));
|
||||
$this->assertEquals(['foo' => 'bar'], $input->getOptions(), '->parse() parses arguments with leading dashes as options before having encountered a double-dash sequence');
|
||||
$this->assertEquals(['number' => '-1'], $input->getArguments(), '->parse() parses arguments with leading dashes as arguments after having encountered a double-dash sequence');
|
||||
}
|
||||
|
||||
public function testParseEmptyStringArgument()
|
||||
{
|
||||
$input = new ArgvInput(array('cli.php', '-f', 'bar', ''));
|
||||
$input->bind(new InputDefinition(array(new InputArgument('empty'), new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL))));
|
||||
$input = new ArgvInput(['cli.php', '-f', 'bar', '']);
|
||||
$input->bind(new InputDefinition([new InputArgument('empty'), new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL)]));
|
||||
|
||||
$this->assertEquals(array('empty' => ''), $input->getArguments(), '->parse() parses empty string arguments');
|
||||
$this->assertEquals(['empty' => ''], $input->getArguments(), '->parse() parses empty string arguments');
|
||||
}
|
||||
|
||||
public function testGetFirstArgument()
|
||||
{
|
||||
$input = new ArgvInput(array('cli.php', '-fbbar'));
|
||||
$input = new ArgvInput(['cli.php', '-fbbar']);
|
||||
$this->assertNull($input->getFirstArgument(), '->getFirstArgument() returns null when there is no arguments');
|
||||
|
||||
$input = new ArgvInput(array('cli.php', '-fbbar', 'foo'));
|
||||
$input = new ArgvInput(['cli.php', '-fbbar', 'foo']);
|
||||
$this->assertEquals('foo', $input->getFirstArgument(), '->getFirstArgument() returns the first argument from the raw input');
|
||||
|
||||
$input = new ArgvInput(['cli.php', '--foo', 'fooval', 'bar']);
|
||||
$input->bind(new InputDefinition([new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('arg')]));
|
||||
$this->assertSame('bar', $input->getFirstArgument());
|
||||
|
||||
$input = new ArgvInput(['cli.php', '-bf', 'fooval', 'argval']);
|
||||
$input->bind(new InputDefinition([new InputOption('bar', 'b', InputOption::VALUE_NONE), new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('arg')]));
|
||||
$this->assertSame('argval', $input->getFirstArgument());
|
||||
}
|
||||
|
||||
public function testHasParameterOption()
|
||||
{
|
||||
$input = new ArgvInput(array('cli.php', '-f', 'foo'));
|
||||
$input = new ArgvInput(['cli.php', '-f', 'foo']);
|
||||
$this->assertTrue($input->hasParameterOption('-f'), '->hasParameterOption() returns true if the given short option is in the raw input');
|
||||
|
||||
$input = new ArgvInput(array('cli.php', '-etest'));
|
||||
$input = new ArgvInput(['cli.php', '-etest']);
|
||||
$this->assertTrue($input->hasParameterOption('-e'), '->hasParameterOption() returns true if the given short option is in the raw input');
|
||||
$this->assertFalse($input->hasParameterOption('-s'), '->hasParameterOption() returns true if the given short option is in the raw input');
|
||||
|
||||
$input = new ArgvInput(array('cli.php', '--foo', 'foo'));
|
||||
$input = new ArgvInput(['cli.php', '--foo', 'foo']);
|
||||
$this->assertTrue($input->hasParameterOption('--foo'), '->hasParameterOption() returns true if the given short option is in the raw input');
|
||||
|
||||
$input = new ArgvInput(array('cli.php', 'foo'));
|
||||
$input = new ArgvInput(['cli.php', 'foo']);
|
||||
$this->assertFalse($input->hasParameterOption('--foo'), '->hasParameterOption() returns false if the given short option is not in the raw input');
|
||||
|
||||
$input = new ArgvInput(array('cli.php', '--foo=bar'));
|
||||
$input = new ArgvInput(['cli.php', '--foo=bar']);
|
||||
$this->assertTrue($input->hasParameterOption('--foo'), '->hasParameterOption() returns true if the given option with provided value is in the raw input');
|
||||
}
|
||||
|
||||
public function testHasParameterOptionOnlyOptions()
|
||||
{
|
||||
$input = new ArgvInput(array('cli.php', '-f', 'foo'));
|
||||
$input = new ArgvInput(['cli.php', '-f', 'foo']);
|
||||
$this->assertTrue($input->hasParameterOption('-f', true), '->hasParameterOption() returns true if the given short option is in the raw input');
|
||||
|
||||
$input = new ArgvInput(array('cli.php', '--foo', '--', 'foo'));
|
||||
$input = new ArgvInput(['cli.php', '--foo', '--', 'foo']);
|
||||
$this->assertTrue($input->hasParameterOption('--foo', true), '->hasParameterOption() returns true if the given long option is in the raw input');
|
||||
|
||||
$input = new ArgvInput(array('cli.php', '--foo=bar', 'foo'));
|
||||
$input = new ArgvInput(['cli.php', '--foo=bar', 'foo']);
|
||||
$this->assertTrue($input->hasParameterOption('--foo', true), '->hasParameterOption() returns true if the given long option with provided value is in the raw input');
|
||||
|
||||
$input = new ArgvInput(array('cli.php', '--', '--foo'));
|
||||
$input = new ArgvInput(['cli.php', '--', '--foo']);
|
||||
$this->assertFalse($input->hasParameterOption('--foo', true), '->hasParameterOption() returns false if the given option is in the raw input but after an end of options signal');
|
||||
}
|
||||
|
||||
public function testHasParameterOptionEdgeCasesAndLimitations()
|
||||
{
|
||||
$input = new ArgvInput(array('cli.php', '-fh'));
|
||||
$input = new ArgvInput(['cli.php', '-fh']);
|
||||
// hasParameterOption does not know if the previous short option, -f,
|
||||
// takes a value or not. If -f takes a value, then -fh does NOT include
|
||||
// -h; Otherwise it does. Since we do not know which short options take
|
||||
@@ -368,7 +376,7 @@ class ArgvInputTest extends TestCase
|
||||
// However, this is not supported.
|
||||
$this->assertFalse($input->hasParameterOption('-hf'), '->hasParameterOption() returns true if the given short option is in the raw input');
|
||||
|
||||
$input = new ArgvInput(array('cli.php', '-f', '-h'));
|
||||
$input = new ArgvInput(['cli.php', '-f', '-h']);
|
||||
// If hasParameterOption('-fh') is supported for 'cli.php -fh', then
|
||||
// one might also expect that it should also be supported for
|
||||
// 'cli.php -f -h'. However, this is not supported.
|
||||
@@ -377,23 +385,23 @@ class ArgvInputTest extends TestCase
|
||||
|
||||
public function testNoWarningOnInvalidParameterOption()
|
||||
{
|
||||
$input = new ArgvInput(array('cli.php', '-edev'));
|
||||
$input = new ArgvInput(['cli.php', '-edev']);
|
||||
|
||||
$this->assertTrue($input->hasParameterOption(array('-e', '')));
|
||||
$this->assertTrue($input->hasParameterOption(['-e', '']));
|
||||
// No warning thrown
|
||||
$this->assertFalse($input->hasParameterOption(array('-m', '')));
|
||||
$this->assertFalse($input->hasParameterOption(['-m', '']));
|
||||
|
||||
$this->assertEquals('dev', $input->getParameterOption(array('-e', '')));
|
||||
$this->assertEquals('dev', $input->getParameterOption(['-e', '']));
|
||||
// No warning thrown
|
||||
$this->assertFalse($input->getParameterOption(array('-m', '')));
|
||||
$this->assertFalse($input->getParameterOption(['-m', '']));
|
||||
}
|
||||
|
||||
public function testToString()
|
||||
{
|
||||
$input = new ArgvInput(array('cli.php', '-f', 'foo'));
|
||||
$input = new ArgvInput(['cli.php', '-f', 'foo']);
|
||||
$this->assertEquals('-f foo', (string) $input);
|
||||
|
||||
$input = new ArgvInput(array('cli.php', '-f', '--bar=foo', 'a b c d', "A\nB'C"));
|
||||
$input = new ArgvInput(['cli.php', '-f', '--bar=foo', 'a b c d', "A\nB'C"]);
|
||||
$this->assertEquals('-f --bar=foo '.escapeshellarg('a b c d').' '.escapeshellarg("A\nB'C"), (string) $input);
|
||||
}
|
||||
|
||||
@@ -408,51 +416,51 @@ class ArgvInputTest extends TestCase
|
||||
|
||||
public function provideGetParameterOptionValues()
|
||||
{
|
||||
return array(
|
||||
array(array('app/console', 'foo:bar'), '-e', 'default', false, 'default'),
|
||||
array(array('app/console', 'foo:bar', '-e', 'dev'), '-e', 'default', false, 'dev'),
|
||||
array(array('app/console', 'foo:bar', '--env=dev'), '--env', 'default', false, 'dev'),
|
||||
array(array('app/console', 'foo:bar', '-e', 'dev'), array('-e', '--env'), 'default', false, 'dev'),
|
||||
array(array('app/console', 'foo:bar', '--env=dev'), array('-e', '--env'), 'default', false, 'dev'),
|
||||
array(array('app/console', 'foo:bar', '--env=dev', '--en=1'), array('--en'), 'default', false, '1'),
|
||||
array(array('app/console', 'foo:bar', '--env=dev', '', '--en=1'), array('--en'), 'default', false, '1'),
|
||||
array(array('app/console', 'foo:bar', '--env', 'val'), '--env', 'default', false, 'val'),
|
||||
array(array('app/console', 'foo:bar', '--env', 'val', '--dummy'), '--env', 'default', false, 'val'),
|
||||
array(array('app/console', 'foo:bar', '--', '--env=dev'), '--env', 'default', false, 'dev'),
|
||||
array(array('app/console', 'foo:bar', '--', '--env=dev'), '--env', 'default', true, 'default'),
|
||||
);
|
||||
return [
|
||||
[['app/console', 'foo:bar'], '-e', 'default', false, 'default'],
|
||||
[['app/console', 'foo:bar', '-e', 'dev'], '-e', 'default', false, 'dev'],
|
||||
[['app/console', 'foo:bar', '--env=dev'], '--env', 'default', false, 'dev'],
|
||||
[['app/console', 'foo:bar', '-e', 'dev'], ['-e', '--env'], 'default', false, 'dev'],
|
||||
[['app/console', 'foo:bar', '--env=dev'], ['-e', '--env'], 'default', false, 'dev'],
|
||||
[['app/console', 'foo:bar', '--env=dev', '--en=1'], ['--en'], 'default', false, '1'],
|
||||
[['app/console', 'foo:bar', '--env=dev', '', '--en=1'], ['--en'], 'default', false, '1'],
|
||||
[['app/console', 'foo:bar', '--env', 'val'], '--env', 'default', false, 'val'],
|
||||
[['app/console', 'foo:bar', '--env', 'val', '--dummy'], '--env', 'default', false, 'val'],
|
||||
[['app/console', 'foo:bar', '--', '--env=dev'], '--env', 'default', false, 'dev'],
|
||||
[['app/console', 'foo:bar', '--', '--env=dev'], '--env', 'default', true, 'default'],
|
||||
];
|
||||
}
|
||||
|
||||
public function testParseSingleDashAsArgument()
|
||||
{
|
||||
$input = new ArgvInput(array('cli.php', '-'));
|
||||
$input->bind(new InputDefinition(array(new InputArgument('file'))));
|
||||
$this->assertEquals(array('file' => '-'), $input->getArguments(), '->parse() parses single dash as an argument');
|
||||
$input = new ArgvInput(['cli.php', '-']);
|
||||
$input->bind(new InputDefinition([new InputArgument('file')]));
|
||||
$this->assertEquals(['file' => '-'], $input->getArguments(), '->parse() parses single dash as an argument');
|
||||
}
|
||||
|
||||
public function testParseOptionWithValueOptionalGivenEmptyAndRequiredArgument()
|
||||
{
|
||||
$input = new ArgvInput(array('cli.php', '--foo=', 'bar'));
|
||||
$input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('name', InputArgument::REQUIRED))));
|
||||
$this->assertEquals(array('foo' => null), $input->getOptions(), '->parse() parses optional options with empty value as null');
|
||||
$this->assertEquals(array('name' => 'bar'), $input->getArguments(), '->parse() parses required arguments');
|
||||
$input = new ArgvInput(['cli.php', '--foo=', 'bar']);
|
||||
$input->bind(new InputDefinition([new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('name', InputArgument::REQUIRED)]));
|
||||
$this->assertEquals(['foo' => null], $input->getOptions(), '->parse() parses optional options with empty value as null');
|
||||
$this->assertEquals(['name' => 'bar'], $input->getArguments(), '->parse() parses required arguments');
|
||||
|
||||
$input = new ArgvInput(array('cli.php', '--foo=0', 'bar'));
|
||||
$input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('name', InputArgument::REQUIRED))));
|
||||
$this->assertEquals(array('foo' => '0'), $input->getOptions(), '->parse() parses optional options with empty value as null');
|
||||
$this->assertEquals(array('name' => 'bar'), $input->getArguments(), '->parse() parses required arguments');
|
||||
$input = new ArgvInput(['cli.php', '--foo=0', 'bar']);
|
||||
$input->bind(new InputDefinition([new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('name', InputArgument::REQUIRED)]));
|
||||
$this->assertEquals(['foo' => '0'], $input->getOptions(), '->parse() parses optional options with empty value as null');
|
||||
$this->assertEquals(['name' => 'bar'], $input->getArguments(), '->parse() parses required arguments');
|
||||
}
|
||||
|
||||
public function testParseOptionWithValueOptionalGivenEmptyAndOptionalArgument()
|
||||
{
|
||||
$input = new ArgvInput(array('cli.php', '--foo=', 'bar'));
|
||||
$input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('name', InputArgument::OPTIONAL))));
|
||||
$this->assertEquals(array('foo' => null), $input->getOptions(), '->parse() parses optional options with empty value as null');
|
||||
$this->assertEquals(array('name' => 'bar'), $input->getArguments(), '->parse() parses optional arguments');
|
||||
$input = new ArgvInput(['cli.php', '--foo=', 'bar']);
|
||||
$input->bind(new InputDefinition([new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('name', InputArgument::OPTIONAL)]));
|
||||
$this->assertEquals(['foo' => null], $input->getOptions(), '->parse() parses optional options with empty value as null');
|
||||
$this->assertEquals(['name' => 'bar'], $input->getArguments(), '->parse() parses optional arguments');
|
||||
|
||||
$input = new ArgvInput(array('cli.php', '--foo=0', 'bar'));
|
||||
$input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('name', InputArgument::OPTIONAL))));
|
||||
$this->assertEquals(array('foo' => '0'), $input->getOptions(), '->parse() parses optional options with empty value as null');
|
||||
$this->assertEquals(array('name' => 'bar'), $input->getArguments(), '->parse() parses optional arguments');
|
||||
$input = new ArgvInput(['cli.php', '--foo=0', 'bar']);
|
||||
$input->bind(new InputDefinition([new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('name', InputArgument::OPTIONAL)]));
|
||||
$this->assertEquals(['foo' => '0'], $input->getOptions(), '->parse() parses optional options with empty value as null');
|
||||
$this->assertEquals(['name' => 'bar'], $input->getArguments(), '->parse() parses optional arguments');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,47 +21,47 @@ class ArrayInputTest extends TestCase
|
||||
{
|
||||
public function testGetFirstArgument()
|
||||
{
|
||||
$input = new ArrayInput(array());
|
||||
$input = new ArrayInput([]);
|
||||
$this->assertNull($input->getFirstArgument(), '->getFirstArgument() returns null if no argument were passed');
|
||||
$input = new ArrayInput(array('name' => 'Fabien'));
|
||||
$input = new ArrayInput(['name' => 'Fabien']);
|
||||
$this->assertEquals('Fabien', $input->getFirstArgument(), '->getFirstArgument() returns the first passed argument');
|
||||
$input = new ArrayInput(array('--foo' => 'bar', 'name' => 'Fabien'));
|
||||
$input = new ArrayInput(['--foo' => 'bar', 'name' => 'Fabien']);
|
||||
$this->assertEquals('Fabien', $input->getFirstArgument(), '->getFirstArgument() returns the first passed argument');
|
||||
}
|
||||
|
||||
public function testHasParameterOption()
|
||||
{
|
||||
$input = new ArrayInput(array('name' => 'Fabien', '--foo' => 'bar'));
|
||||
$input = new ArrayInput(['name' => 'Fabien', '--foo' => 'bar']);
|
||||
$this->assertTrue($input->hasParameterOption('--foo'), '->hasParameterOption() returns true if an option is present in the passed parameters');
|
||||
$this->assertFalse($input->hasParameterOption('--bar'), '->hasParameterOption() returns false if an option is not present in the passed parameters');
|
||||
|
||||
$input = new ArrayInput(array('--foo'));
|
||||
$input = new ArrayInput(['--foo']);
|
||||
$this->assertTrue($input->hasParameterOption('--foo'), '->hasParameterOption() returns true if an option is present in the passed parameters');
|
||||
|
||||
$input = new ArrayInput(array('--foo', '--', '--bar'));
|
||||
$input = new ArrayInput(['--foo', '--', '--bar']);
|
||||
$this->assertTrue($input->hasParameterOption('--bar'), '->hasParameterOption() returns true if an option is present in the passed parameters');
|
||||
$this->assertFalse($input->hasParameterOption('--bar', true), '->hasParameterOption() returns false if an option is present in the passed parameters after an end of options signal');
|
||||
}
|
||||
|
||||
public function testGetParameterOption()
|
||||
{
|
||||
$input = new ArrayInput(array('name' => 'Fabien', '--foo' => 'bar'));
|
||||
$input = new ArrayInput(['name' => 'Fabien', '--foo' => 'bar']);
|
||||
$this->assertEquals('bar', $input->getParameterOption('--foo'), '->getParameterOption() returns the option of specified name');
|
||||
$this->assertEquals('default', $input->getParameterOption('--bar', 'default'), '->getParameterOption() returns the default value if an option is not present in the passed parameters');
|
||||
|
||||
$input = new ArrayInput(array('Fabien', '--foo' => 'bar'));
|
||||
$input = new ArrayInput(['Fabien', '--foo' => 'bar']);
|
||||
$this->assertEquals('bar', $input->getParameterOption('--foo'), '->getParameterOption() returns the option of specified name');
|
||||
|
||||
$input = new ArrayInput(array('--foo', '--', '--bar' => 'woop'));
|
||||
$input = new ArrayInput(['--foo', '--', '--bar' => 'woop']);
|
||||
$this->assertEquals('woop', $input->getParameterOption('--bar'), '->getParameterOption() returns the correct value if an option is present in the passed parameters');
|
||||
$this->assertEquals('default', $input->getParameterOption('--bar', 'default', true), '->getParameterOption() returns the default value if an option is present in the passed parameters after an end of options signal');
|
||||
}
|
||||
|
||||
public function testParseArguments()
|
||||
{
|
||||
$input = new ArrayInput(array('name' => 'foo'), new InputDefinition(array(new InputArgument('name'))));
|
||||
$input = new ArrayInput(['name' => 'foo'], new InputDefinition([new InputArgument('name')]));
|
||||
|
||||
$this->assertEquals(array('name' => 'foo'), $input->getArguments(), '->parse() parses required arguments');
|
||||
$this->assertEquals(['name' => 'foo'], $input->getArguments(), '->parse() parses required arguments');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -76,50 +76,50 @@ class ArrayInputTest extends TestCase
|
||||
|
||||
public function provideOptions()
|
||||
{
|
||||
return array(
|
||||
array(
|
||||
array('--foo' => 'bar'),
|
||||
array(new InputOption('foo')),
|
||||
array('foo' => 'bar'),
|
||||
return [
|
||||
[
|
||||
['--foo' => 'bar'],
|
||||
[new InputOption('foo')],
|
||||
['foo' => 'bar'],
|
||||
'->parse() parses long options',
|
||||
),
|
||||
array(
|
||||
array('--foo' => 'bar'),
|
||||
array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL, '', 'default')),
|
||||
array('foo' => 'bar'),
|
||||
],
|
||||
[
|
||||
['--foo' => 'bar'],
|
||||
[new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL, '', 'default')],
|
||||
['foo' => 'bar'],
|
||||
'->parse() parses long options with a default value',
|
||||
),
|
||||
array(
|
||||
array(),
|
||||
array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL, '', 'default')),
|
||||
array('foo' => 'default'),
|
||||
],
|
||||
[
|
||||
[],
|
||||
[new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL, '', 'default')],
|
||||
['foo' => 'default'],
|
||||
'->parse() uses the default value for long options with value optional which are not passed',
|
||||
),
|
||||
array(
|
||||
array('--foo' => null),
|
||||
array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL, '', 'default')),
|
||||
array('foo' => null),
|
||||
],
|
||||
[
|
||||
['--foo' => null],
|
||||
[new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL, '', 'default')],
|
||||
['foo' => null],
|
||||
'->parse() parses long options with a default value',
|
||||
),
|
||||
array(
|
||||
array('-f' => 'bar'),
|
||||
array(new InputOption('foo', 'f')),
|
||||
array('foo' => 'bar'),
|
||||
],
|
||||
[
|
||||
['-f' => 'bar'],
|
||||
[new InputOption('foo', 'f')],
|
||||
['foo' => 'bar'],
|
||||
'->parse() parses short options',
|
||||
),
|
||||
array(
|
||||
array('--' => null, '-f' => 'bar'),
|
||||
array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL, '', 'default')),
|
||||
array('foo' => 'default'),
|
||||
],
|
||||
[
|
||||
['--' => null, '-f' => 'bar'],
|
||||
[new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL, '', 'default')],
|
||||
['foo' => 'default'],
|
||||
'->parse() does not parse opts after an end of options signal',
|
||||
),
|
||||
array(
|
||||
array('--' => null),
|
||||
array(),
|
||||
array(),
|
||||
],
|
||||
[
|
||||
['--' => null],
|
||||
[],
|
||||
[],
|
||||
'->parse() does not choke on end of options signal',
|
||||
),
|
||||
);
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -139,39 +139,39 @@ class ArrayInputTest extends TestCase
|
||||
|
||||
public function provideInvalidInput()
|
||||
{
|
||||
return array(
|
||||
array(
|
||||
array('foo' => 'foo'),
|
||||
new InputDefinition(array(new InputArgument('name'))),
|
||||
return [
|
||||
[
|
||||
['foo' => 'foo'],
|
||||
new InputDefinition([new InputArgument('name')]),
|
||||
'The "foo" argument does not exist.',
|
||||
),
|
||||
array(
|
||||
array('--foo' => null),
|
||||
new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_REQUIRED))),
|
||||
],
|
||||
[
|
||||
['--foo' => null],
|
||||
new InputDefinition([new InputOption('foo', 'f', InputOption::VALUE_REQUIRED)]),
|
||||
'The "--foo" option requires a value.',
|
||||
),
|
||||
array(
|
||||
array('--foo' => 'foo'),
|
||||
],
|
||||
[
|
||||
['--foo' => 'foo'],
|
||||
new InputDefinition(),
|
||||
'The "--foo" option does not exist.',
|
||||
),
|
||||
array(
|
||||
array('-o' => 'foo'),
|
||||
],
|
||||
[
|
||||
['-o' => 'foo'],
|
||||
new InputDefinition(),
|
||||
'The "-o" option does not exist.',
|
||||
),
|
||||
);
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
public function testToString()
|
||||
{
|
||||
$input = new ArrayInput(array('-f' => null, '-b' => 'bar', '--foo' => 'b a z', '--lala' => null, 'test' => 'Foo', 'test2' => "A\nB'C"));
|
||||
$input = new ArrayInput(['-f' => null, '-b' => 'bar', '--foo' => 'b a z', '--lala' => null, 'test' => 'Foo', 'test2' => "A\nB'C"]);
|
||||
$this->assertEquals('-f -b=bar --foo='.escapeshellarg('b a z').' --lala Foo '.escapeshellarg("A\nB'C"), (string) $input);
|
||||
|
||||
$input = new ArrayInput(array('-b' => array('bval_1', 'bval_2'), '--f' => array('fval_1', 'fval_2')));
|
||||
$input = new ArrayInput(['-b' => ['bval_1', 'bval_2'], '--f' => ['fval_1', 'fval_2']]);
|
||||
$this->assertSame('-b=bval_1 -b=bval_2 --f=fval_1 --f=fval_2', (string) $input);
|
||||
|
||||
$input = new ArrayInput(array('array_arg' => array('val_1', 'val_2')));
|
||||
$input = new ArrayInput(['array_arg' => ['val_1', 'val_2']]);
|
||||
$this->assertSame('val_1 val_2', (string) $input);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -77,8 +77,8 @@ class InputArgumentTest extends TestCase
|
||||
$this->assertEquals('another', $argument->getDefault(), '->setDefault() changes the default value');
|
||||
|
||||
$argument = new InputArgument('foo', InputArgument::OPTIONAL | InputArgument::IS_ARRAY);
|
||||
$argument->setDefault(array(1, 2));
|
||||
$this->assertEquals(array(1, 2), $argument->getDefault(), '->setDefault() changes the default value');
|
||||
$argument->setDefault([1, 2]);
|
||||
$this->assertEquals([1, 2], $argument->getDefault(), '->setDefault() changes the default value');
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -35,10 +35,10 @@ class InputDefinitionTest extends TestCase
|
||||
$this->initializeArguments();
|
||||
|
||||
$definition = new InputDefinition();
|
||||
$this->assertEquals(array(), $definition->getArguments(), '__construct() creates a new InputDefinition object');
|
||||
$this->assertEquals([], $definition->getArguments(), '__construct() creates a new InputDefinition object');
|
||||
|
||||
$definition = new InputDefinition(array($this->foo, $this->bar));
|
||||
$this->assertEquals(array('foo' => $this->foo, 'bar' => $this->bar), $definition->getArguments(), '__construct() takes an array of InputArgument objects as its first argument');
|
||||
$definition = new InputDefinition([$this->foo, $this->bar]);
|
||||
$this->assertEquals(['foo' => $this->foo, 'bar' => $this->bar], $definition->getArguments(), '__construct() takes an array of InputArgument objects as its first argument');
|
||||
}
|
||||
|
||||
public function testConstructorOptions()
|
||||
@@ -46,10 +46,10 @@ class InputDefinitionTest extends TestCase
|
||||
$this->initializeOptions();
|
||||
|
||||
$definition = new InputDefinition();
|
||||
$this->assertEquals(array(), $definition->getOptions(), '__construct() creates a new InputDefinition object');
|
||||
$this->assertEquals([], $definition->getOptions(), '__construct() creates a new InputDefinition object');
|
||||
|
||||
$definition = new InputDefinition(array($this->foo, $this->bar));
|
||||
$this->assertEquals(array('foo' => $this->foo, 'bar' => $this->bar), $definition->getOptions(), '__construct() takes an array of InputOption objects as its first argument');
|
||||
$definition = new InputDefinition([$this->foo, $this->bar]);
|
||||
$this->assertEquals(['foo' => $this->foo, 'bar' => $this->bar], $definition->getOptions(), '__construct() takes an array of InputOption objects as its first argument');
|
||||
}
|
||||
|
||||
public function testSetArguments()
|
||||
@@ -57,11 +57,11 @@ class InputDefinitionTest extends TestCase
|
||||
$this->initializeArguments();
|
||||
|
||||
$definition = new InputDefinition();
|
||||
$definition->setArguments(array($this->foo));
|
||||
$this->assertEquals(array('foo' => $this->foo), $definition->getArguments(), '->setArguments() sets the array of InputArgument objects');
|
||||
$definition->setArguments(array($this->bar));
|
||||
$definition->setArguments([$this->foo]);
|
||||
$this->assertEquals(['foo' => $this->foo], $definition->getArguments(), '->setArguments() sets the array of InputArgument objects');
|
||||
$definition->setArguments([$this->bar]);
|
||||
|
||||
$this->assertEquals(array('bar' => $this->bar), $definition->getArguments(), '->setArguments() clears all InputArgument objects');
|
||||
$this->assertEquals(['bar' => $this->bar], $definition->getArguments(), '->setArguments() clears all InputArgument objects');
|
||||
}
|
||||
|
||||
public function testAddArguments()
|
||||
@@ -69,10 +69,10 @@ class InputDefinitionTest extends TestCase
|
||||
$this->initializeArguments();
|
||||
|
||||
$definition = new InputDefinition();
|
||||
$definition->addArguments(array($this->foo));
|
||||
$this->assertEquals(array('foo' => $this->foo), $definition->getArguments(), '->addArguments() adds an array of InputArgument objects');
|
||||
$definition->addArguments(array($this->bar));
|
||||
$this->assertEquals(array('foo' => $this->foo, 'bar' => $this->bar), $definition->getArguments(), '->addArguments() does not clear existing InputArgument objects');
|
||||
$definition->addArguments([$this->foo]);
|
||||
$this->assertEquals(['foo' => $this->foo], $definition->getArguments(), '->addArguments() adds an array of InputArgument objects');
|
||||
$definition->addArguments([$this->bar]);
|
||||
$this->assertEquals(['foo' => $this->foo, 'bar' => $this->bar], $definition->getArguments(), '->addArguments() does not clear existing InputArgument objects');
|
||||
}
|
||||
|
||||
public function testAddArgument()
|
||||
@@ -81,9 +81,9 @@ class InputDefinitionTest extends TestCase
|
||||
|
||||
$definition = new InputDefinition();
|
||||
$definition->addArgument($this->foo);
|
||||
$this->assertEquals(array('foo' => $this->foo), $definition->getArguments(), '->addArgument() adds a InputArgument object');
|
||||
$this->assertEquals(['foo' => $this->foo], $definition->getArguments(), '->addArgument() adds a InputArgument object');
|
||||
$definition->addArgument($this->bar);
|
||||
$this->assertEquals(array('foo' => $this->foo, 'bar' => $this->bar), $definition->getArguments(), '->addArgument() adds a InputArgument object');
|
||||
$this->assertEquals(['foo' => $this->foo, 'bar' => $this->bar], $definition->getArguments(), '->addArgument() adds a InputArgument object');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -130,7 +130,7 @@ class InputDefinitionTest extends TestCase
|
||||
$this->initializeArguments();
|
||||
|
||||
$definition = new InputDefinition();
|
||||
$definition->addArguments(array($this->foo));
|
||||
$definition->addArguments([$this->foo]);
|
||||
$this->assertEquals($this->foo, $definition->getArgument('foo'), '->getArgument() returns a InputArgument by its name');
|
||||
}
|
||||
|
||||
@@ -143,7 +143,7 @@ class InputDefinitionTest extends TestCase
|
||||
$this->initializeArguments();
|
||||
|
||||
$definition = new InputDefinition();
|
||||
$definition->addArguments(array($this->foo));
|
||||
$definition->addArguments([$this->foo]);
|
||||
$definition->getArgument('bar');
|
||||
}
|
||||
|
||||
@@ -152,7 +152,7 @@ class InputDefinitionTest extends TestCase
|
||||
$this->initializeArguments();
|
||||
|
||||
$definition = new InputDefinition();
|
||||
$definition->addArguments(array($this->foo));
|
||||
$definition->addArguments([$this->foo]);
|
||||
|
||||
$this->assertTrue($definition->hasArgument('foo'), '->hasArgument() returns true if a InputArgument exists for the given name');
|
||||
$this->assertFalse($definition->hasArgument('bar'), '->hasArgument() returns false if a InputArgument exists for the given name');
|
||||
@@ -182,28 +182,28 @@ class InputDefinitionTest extends TestCase
|
||||
|
||||
public function testGetArgumentDefaults()
|
||||
{
|
||||
$definition = new InputDefinition(array(
|
||||
$definition = new InputDefinition([
|
||||
new InputArgument('foo1', InputArgument::OPTIONAL),
|
||||
new InputArgument('foo2', InputArgument::OPTIONAL, '', 'default'),
|
||||
new InputArgument('foo3', InputArgument::OPTIONAL | InputArgument::IS_ARRAY),
|
||||
// new InputArgument('foo4', InputArgument::OPTIONAL | InputArgument::IS_ARRAY, '', array(1, 2)),
|
||||
));
|
||||
$this->assertEquals(array('foo1' => null, 'foo2' => 'default', 'foo3' => array()), $definition->getArgumentDefaults(), '->getArgumentDefaults() return the default values for each argument');
|
||||
// new InputArgument('foo4', InputArgument::OPTIONAL | InputArgument::IS_ARRAY, '', [1, 2]),
|
||||
]);
|
||||
$this->assertEquals(['foo1' => null, 'foo2' => 'default', 'foo3' => []], $definition->getArgumentDefaults(), '->getArgumentDefaults() return the default values for each argument');
|
||||
|
||||
$definition = new InputDefinition(array(
|
||||
new InputArgument('foo4', InputArgument::OPTIONAL | InputArgument::IS_ARRAY, '', array(1, 2)),
|
||||
));
|
||||
$this->assertEquals(array('foo4' => array(1, 2)), $definition->getArgumentDefaults(), '->getArgumentDefaults() return the default values for each argument');
|
||||
$definition = new InputDefinition([
|
||||
new InputArgument('foo4', InputArgument::OPTIONAL | InputArgument::IS_ARRAY, '', [1, 2]),
|
||||
]);
|
||||
$this->assertEquals(['foo4' => [1, 2]], $definition->getArgumentDefaults(), '->getArgumentDefaults() return the default values for each argument');
|
||||
}
|
||||
|
||||
public function testSetOptions()
|
||||
{
|
||||
$this->initializeOptions();
|
||||
|
||||
$definition = new InputDefinition(array($this->foo));
|
||||
$this->assertEquals(array('foo' => $this->foo), $definition->getOptions(), '->setOptions() sets the array of InputOption objects');
|
||||
$definition->setOptions(array($this->bar));
|
||||
$this->assertEquals(array('bar' => $this->bar), $definition->getOptions(), '->setOptions() clears all InputOption objects');
|
||||
$definition = new InputDefinition([$this->foo]);
|
||||
$this->assertEquals(['foo' => $this->foo], $definition->getOptions(), '->setOptions() sets the array of InputOption objects');
|
||||
$definition->setOptions([$this->bar]);
|
||||
$this->assertEquals(['bar' => $this->bar], $definition->getOptions(), '->setOptions() clears all InputOption objects');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -214,8 +214,8 @@ class InputDefinitionTest extends TestCase
|
||||
{
|
||||
$this->initializeOptions();
|
||||
|
||||
$definition = new InputDefinition(array($this->foo));
|
||||
$definition->setOptions(array($this->bar));
|
||||
$definition = new InputDefinition([$this->foo]);
|
||||
$definition->setOptions([$this->bar]);
|
||||
$definition->getOptionForShortcut('f');
|
||||
}
|
||||
|
||||
@@ -223,10 +223,10 @@ class InputDefinitionTest extends TestCase
|
||||
{
|
||||
$this->initializeOptions();
|
||||
|
||||
$definition = new InputDefinition(array($this->foo));
|
||||
$this->assertEquals(array('foo' => $this->foo), $definition->getOptions(), '->addOptions() adds an array of InputOption objects');
|
||||
$definition->addOptions(array($this->bar));
|
||||
$this->assertEquals(array('foo' => $this->foo, 'bar' => $this->bar), $definition->getOptions(), '->addOptions() does not clear existing InputOption objects');
|
||||
$definition = new InputDefinition([$this->foo]);
|
||||
$this->assertEquals(['foo' => $this->foo], $definition->getOptions(), '->addOptions() adds an array of InputOption objects');
|
||||
$definition->addOptions([$this->bar]);
|
||||
$this->assertEquals(['foo' => $this->foo, 'bar' => $this->bar], $definition->getOptions(), '->addOptions() does not clear existing InputOption objects');
|
||||
}
|
||||
|
||||
public function testAddOption()
|
||||
@@ -235,9 +235,9 @@ class InputDefinitionTest extends TestCase
|
||||
|
||||
$definition = new InputDefinition();
|
||||
$definition->addOption($this->foo);
|
||||
$this->assertEquals(array('foo' => $this->foo), $definition->getOptions(), '->addOption() adds a InputOption object');
|
||||
$this->assertEquals(['foo' => $this->foo], $definition->getOptions(), '->addOption() adds a InputOption object');
|
||||
$definition->addOption($this->bar);
|
||||
$this->assertEquals(array('foo' => $this->foo, 'bar' => $this->bar), $definition->getOptions(), '->addOption() adds a InputOption object');
|
||||
$this->assertEquals(['foo' => $this->foo, 'bar' => $this->bar], $definition->getOptions(), '->addOption() adds a InputOption object');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -270,7 +270,7 @@ class InputDefinitionTest extends TestCase
|
||||
{
|
||||
$this->initializeOptions();
|
||||
|
||||
$definition = new InputDefinition(array($this->foo));
|
||||
$definition = new InputDefinition([$this->foo]);
|
||||
$this->assertEquals($this->foo, $definition->getOption('foo'), '->getOption() returns a InputOption by its name');
|
||||
}
|
||||
|
||||
@@ -282,7 +282,7 @@ class InputDefinitionTest extends TestCase
|
||||
{
|
||||
$this->initializeOptions();
|
||||
|
||||
$definition = new InputDefinition(array($this->foo));
|
||||
$definition = new InputDefinition([$this->foo]);
|
||||
$definition->getOption('bar');
|
||||
}
|
||||
|
||||
@@ -290,7 +290,7 @@ class InputDefinitionTest extends TestCase
|
||||
{
|
||||
$this->initializeOptions();
|
||||
|
||||
$definition = new InputDefinition(array($this->foo));
|
||||
$definition = new InputDefinition([$this->foo]);
|
||||
$this->assertTrue($definition->hasOption('foo'), '->hasOption() returns true if a InputOption exists for the given name');
|
||||
$this->assertFalse($definition->hasOption('bar'), '->hasOption() returns false if a InputOption exists for the given name');
|
||||
}
|
||||
@@ -299,7 +299,7 @@ class InputDefinitionTest extends TestCase
|
||||
{
|
||||
$this->initializeOptions();
|
||||
|
||||
$definition = new InputDefinition(array($this->foo));
|
||||
$definition = new InputDefinition([$this->foo]);
|
||||
$this->assertTrue($definition->hasShortcut('f'), '->hasShortcut() returns true if a InputOption exists for the given shortcut');
|
||||
$this->assertFalse($definition->hasShortcut('b'), '->hasShortcut() returns false if a InputOption exists for the given shortcut');
|
||||
}
|
||||
@@ -308,7 +308,7 @@ class InputDefinitionTest extends TestCase
|
||||
{
|
||||
$this->initializeOptions();
|
||||
|
||||
$definition = new InputDefinition(array($this->foo));
|
||||
$definition = new InputDefinition([$this->foo]);
|
||||
$this->assertEquals($this->foo, $definition->getOptionForShortcut('f'), '->getOptionForShortcut() returns a InputOption by its shortcut');
|
||||
}
|
||||
|
||||
@@ -316,7 +316,7 @@ class InputDefinitionTest extends TestCase
|
||||
{
|
||||
$this->initializeOptions();
|
||||
|
||||
$definition = new InputDefinition(array($this->multi));
|
||||
$definition = new InputDefinition([$this->multi]);
|
||||
$this->assertEquals($this->multi, $definition->getOptionForShortcut('m'), '->getOptionForShortcut() returns a InputOption by its shortcut');
|
||||
$this->assertEquals($this->multi, $definition->getOptionForShortcut('mmm'), '->getOptionForShortcut() returns a InputOption by its shortcut');
|
||||
}
|
||||
@@ -329,30 +329,30 @@ class InputDefinitionTest extends TestCase
|
||||
{
|
||||
$this->initializeOptions();
|
||||
|
||||
$definition = new InputDefinition(array($this->foo));
|
||||
$definition = new InputDefinition([$this->foo]);
|
||||
$definition->getOptionForShortcut('l');
|
||||
}
|
||||
|
||||
public function testGetOptionDefaults()
|
||||
{
|
||||
$definition = new InputDefinition(array(
|
||||
$definition = new InputDefinition([
|
||||
new InputOption('foo1', null, InputOption::VALUE_NONE),
|
||||
new InputOption('foo2', null, InputOption::VALUE_REQUIRED),
|
||||
new InputOption('foo3', null, InputOption::VALUE_REQUIRED, '', 'default'),
|
||||
new InputOption('foo4', null, InputOption::VALUE_OPTIONAL),
|
||||
new InputOption('foo5', null, InputOption::VALUE_OPTIONAL, '', 'default'),
|
||||
new InputOption('foo6', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY),
|
||||
new InputOption('foo7', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, '', array(1, 2)),
|
||||
));
|
||||
$defaults = array(
|
||||
new InputOption('foo7', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, '', [1, 2]),
|
||||
]);
|
||||
$defaults = [
|
||||
'foo1' => false,
|
||||
'foo2' => null,
|
||||
'foo3' => 'default',
|
||||
'foo4' => null,
|
||||
'foo5' => 'default',
|
||||
'foo6' => array(),
|
||||
'foo7' => array(1, 2),
|
||||
);
|
||||
'foo6' => [],
|
||||
'foo7' => [1, 2],
|
||||
];
|
||||
$this->assertSame($defaults, $definition->getOptionDefaults(), '->getOptionDefaults() returns the default values for all options');
|
||||
}
|
||||
|
||||
@@ -366,25 +366,25 @@ class InputDefinitionTest extends TestCase
|
||||
|
||||
public function getGetSynopsisData()
|
||||
{
|
||||
return array(
|
||||
array(new InputDefinition(array(new InputOption('foo'))), '[--foo]', 'puts optional options in square brackets'),
|
||||
array(new InputDefinition(array(new InputOption('foo', 'f'))), '[-f|--foo]', 'separates shortcut with a pipe'),
|
||||
array(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_REQUIRED))), '[-f|--foo FOO]', 'uses shortcut as value placeholder'),
|
||||
array(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL))), '[-f|--foo [FOO]]', 'puts optional values in square brackets'),
|
||||
return [
|
||||
[new InputDefinition([new InputOption('foo')]), '[--foo]', 'puts optional options in square brackets'],
|
||||
[new InputDefinition([new InputOption('foo', 'f')]), '[-f|--foo]', 'separates shortcut with a pipe'],
|
||||
[new InputDefinition([new InputOption('foo', 'f', InputOption::VALUE_REQUIRED)]), '[-f|--foo FOO]', 'uses shortcut as value placeholder'],
|
||||
[new InputDefinition([new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL)]), '[-f|--foo [FOO]]', 'puts optional values in square brackets'],
|
||||
|
||||
array(new InputDefinition(array(new InputArgument('foo', InputArgument::REQUIRED))), '<foo>', 'puts arguments in angle brackets'),
|
||||
array(new InputDefinition(array(new InputArgument('foo'))), '[<foo>]', 'puts optional arguments in square brackets'),
|
||||
array(new InputDefinition(array(new InputArgument('foo'), new InputArgument('bar'))), '[<foo> [<bar>]]', 'chains optional arguments inside brackets'),
|
||||
array(new InputDefinition(array(new InputArgument('foo', InputArgument::IS_ARRAY))), '[<foo>...]', 'uses an ellipsis for array arguments'),
|
||||
array(new InputDefinition(array(new InputArgument('foo', InputArgument::REQUIRED | InputArgument::IS_ARRAY))), '<foo>...', 'uses an ellipsis for required array arguments'),
|
||||
[new InputDefinition([new InputArgument('foo', InputArgument::REQUIRED)]), '<foo>', 'puts arguments in angle brackets'],
|
||||
[new InputDefinition([new InputArgument('foo')]), '[<foo>]', 'puts optional arguments in square brackets'],
|
||||
[new InputDefinition([new InputArgument('foo'), new InputArgument('bar')]), '[<foo> [<bar>]]', 'chains optional arguments inside brackets'],
|
||||
[new InputDefinition([new InputArgument('foo', InputArgument::IS_ARRAY)]), '[<foo>...]', 'uses an ellipsis for array arguments'],
|
||||
[new InputDefinition([new InputArgument('foo', InputArgument::REQUIRED | InputArgument::IS_ARRAY)]), '<foo>...', 'uses an ellipsis for required array arguments'],
|
||||
|
||||
array(new InputDefinition(array(new InputOption('foo'), new InputArgument('foo', InputArgument::REQUIRED))), '[--foo] [--] <foo>', 'puts [--] between options and arguments'),
|
||||
);
|
||||
[new InputDefinition([new InputOption('foo'), new InputArgument('foo', InputArgument::REQUIRED)]), '[--foo] [--] <foo>', 'puts [--] between options and arguments'],
|
||||
];
|
||||
}
|
||||
|
||||
public function testGetShortSynopsis()
|
||||
{
|
||||
$definition = new InputDefinition(array(new InputOption('foo'), new InputOption('bar'), new InputArgument('cat')));
|
||||
$definition = new InputDefinition([new InputOption('foo'), new InputOption('bar'), new InputArgument('cat')]);
|
||||
$this->assertEquals('[options] [--] [<cat>]', $definition->getSynopsis(true), '->getSynopsis(true) groups options in [options]');
|
||||
}
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ class InputOptionTest extends TestCase
|
||||
$this->assertEquals('f', $option->getShortcut(), '__construct() can take a shortcut as its second argument');
|
||||
$option = new InputOption('foo', '-f|-ff|fff');
|
||||
$this->assertEquals('f|ff|fff', $option->getShortcut(), '__construct() removes the leading - of the shortcuts');
|
||||
$option = new InputOption('foo', array('f', 'ff', '-fff'));
|
||||
$option = new InputOption('foo', ['f', 'ff', '-fff']);
|
||||
$this->assertEquals('f|ff|fff', $option->getShortcut(), '__construct() removes the leading - of the shortcuts');
|
||||
$option = new InputOption('foo');
|
||||
$this->assertNull($option->getShortcut(), '__construct() makes the shortcut null by default');
|
||||
@@ -132,7 +132,7 @@ class InputOptionTest extends TestCase
|
||||
$this->assertNull($option->getDefault(), '->getDefault() returns null if no default value is configured');
|
||||
|
||||
$option = new InputOption('foo', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY);
|
||||
$this->assertEquals(array(), $option->getDefault(), '->getDefault() returns an empty array if option is an array');
|
||||
$this->assertEquals([], $option->getDefault(), '->getDefault() returns an empty array if option is an array');
|
||||
|
||||
$option = new InputOption('foo', null, InputOption::VALUE_NONE);
|
||||
$this->assertFalse($option->getDefault(), '->getDefault() returns false if the option does not take a value');
|
||||
@@ -147,8 +147,8 @@ class InputOptionTest extends TestCase
|
||||
$this->assertEquals('another', $option->getDefault(), '->setDefault() changes the default value');
|
||||
|
||||
$option = new InputOption('foo', null, InputOption::VALUE_REQUIRED | InputOption::VALUE_IS_ARRAY);
|
||||
$option->setDefault(array(1, 2));
|
||||
$this->assertEquals(array(1, 2), $option->getDefault(), '->setDefault() changes the default value');
|
||||
$option->setDefault([1, 2]);
|
||||
$this->assertEquals([1, 2], $option->getDefault(), '->setDefault() changes the default value');
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
50
vendor/symfony/console/Tests/Input/InputTest.php
vendored
50
vendor/symfony/console/Tests/Input/InputTest.php
vendored
@@ -21,30 +21,30 @@ class InputTest extends TestCase
|
||||
{
|
||||
public function testConstructor()
|
||||
{
|
||||
$input = new ArrayInput(array('name' => 'foo'), new InputDefinition(array(new InputArgument('name'))));
|
||||
$input = new ArrayInput(['name' => 'foo'], new InputDefinition([new InputArgument('name')]));
|
||||
$this->assertEquals('foo', $input->getArgument('name'), '->__construct() takes a InputDefinition as an argument');
|
||||
}
|
||||
|
||||
public function testOptions()
|
||||
{
|
||||
$input = new ArrayInput(array('--name' => 'foo'), new InputDefinition(array(new InputOption('name'))));
|
||||
$input = new ArrayInput(['--name' => 'foo'], new InputDefinition([new InputOption('name')]));
|
||||
$this->assertEquals('foo', $input->getOption('name'), '->getOption() returns the value for the given option');
|
||||
|
||||
$input->setOption('name', 'bar');
|
||||
$this->assertEquals('bar', $input->getOption('name'), '->setOption() sets the value for a given option');
|
||||
$this->assertEquals(array('name' => 'bar'), $input->getOptions(), '->getOptions() returns all option values');
|
||||
$this->assertEquals(['name' => 'bar'], $input->getOptions(), '->getOptions() returns all option values');
|
||||
|
||||
$input = new ArrayInput(array('--name' => 'foo'), new InputDefinition(array(new InputOption('name'), new InputOption('bar', '', InputOption::VALUE_OPTIONAL, '', 'default'))));
|
||||
$input = new ArrayInput(['--name' => 'foo'], new InputDefinition([new InputOption('name'), new InputOption('bar', '', InputOption::VALUE_OPTIONAL, '', 'default')]));
|
||||
$this->assertEquals('default', $input->getOption('bar'), '->getOption() returns the default value for optional options');
|
||||
$this->assertEquals(array('name' => 'foo', 'bar' => 'default'), $input->getOptions(), '->getOptions() returns all option values, even optional ones');
|
||||
$this->assertEquals(['name' => 'foo', 'bar' => 'default'], $input->getOptions(), '->getOptions() returns all option values, even optional ones');
|
||||
|
||||
$input = new ArrayInput(array('--name' => 'foo', '--bar' => ''), new InputDefinition(array(new InputOption('name'), new InputOption('bar', '', InputOption::VALUE_OPTIONAL, '', 'default'))));
|
||||
$input = new ArrayInput(['--name' => 'foo', '--bar' => ''], new InputDefinition([new InputOption('name'), new InputOption('bar', '', InputOption::VALUE_OPTIONAL, '', 'default')]));
|
||||
$this->assertEquals('', $input->getOption('bar'), '->getOption() returns null for options explicitly passed without value (or an empty value)');
|
||||
$this->assertEquals(array('name' => 'foo', 'bar' => ''), $input->getOptions(), '->getOptions() returns all option values.');
|
||||
$this->assertEquals(['name' => 'foo', 'bar' => ''], $input->getOptions(), '->getOptions() returns all option values.');
|
||||
|
||||
$input = new ArrayInput(array('--name' => 'foo', '--bar' => null), new InputDefinition(array(new InputOption('name'), new InputOption('bar', '', InputOption::VALUE_OPTIONAL, '', 'default'))));
|
||||
$input = new ArrayInput(['--name' => 'foo', '--bar' => null], new InputDefinition([new InputOption('name'), new InputOption('bar', '', InputOption::VALUE_OPTIONAL, '', 'default')]));
|
||||
$this->assertNull($input->getOption('bar'), '->getOption() returns null for options explicitly passed without value (or an empty value)');
|
||||
$this->assertEquals(array('name' => 'foo', 'bar' => null), $input->getOptions(), '->getOptions() returns all option values');
|
||||
$this->assertEquals(['name' => 'foo', 'bar' => null], $input->getOptions(), '->getOptions() returns all option values');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -53,7 +53,7 @@ class InputTest extends TestCase
|
||||
*/
|
||||
public function testSetInvalidOption()
|
||||
{
|
||||
$input = new ArrayInput(array('--name' => 'foo'), new InputDefinition(array(new InputOption('name'), new InputOption('bar', '', InputOption::VALUE_OPTIONAL, '', 'default'))));
|
||||
$input = new ArrayInput(['--name' => 'foo'], new InputDefinition([new InputOption('name'), new InputOption('bar', '', InputOption::VALUE_OPTIONAL, '', 'default')]));
|
||||
$input->setOption('foo', 'bar');
|
||||
}
|
||||
|
||||
@@ -63,22 +63,22 @@ class InputTest extends TestCase
|
||||
*/
|
||||
public function testGetInvalidOption()
|
||||
{
|
||||
$input = new ArrayInput(array('--name' => 'foo'), new InputDefinition(array(new InputOption('name'), new InputOption('bar', '', InputOption::VALUE_OPTIONAL, '', 'default'))));
|
||||
$input = new ArrayInput(['--name' => 'foo'], new InputDefinition([new InputOption('name'), new InputOption('bar', '', InputOption::VALUE_OPTIONAL, '', 'default')]));
|
||||
$input->getOption('foo');
|
||||
}
|
||||
|
||||
public function testArguments()
|
||||
{
|
||||
$input = new ArrayInput(array('name' => 'foo'), new InputDefinition(array(new InputArgument('name'))));
|
||||
$input = new ArrayInput(['name' => 'foo'], new InputDefinition([new InputArgument('name')]));
|
||||
$this->assertEquals('foo', $input->getArgument('name'), '->getArgument() returns the value for the given argument');
|
||||
|
||||
$input->setArgument('name', 'bar');
|
||||
$this->assertEquals('bar', $input->getArgument('name'), '->setArgument() sets the value for a given argument');
|
||||
$this->assertEquals(array('name' => 'bar'), $input->getArguments(), '->getArguments() returns all argument values');
|
||||
$this->assertEquals(['name' => 'bar'], $input->getArguments(), '->getArguments() returns all argument values');
|
||||
|
||||
$input = new ArrayInput(array('name' => 'foo'), new InputDefinition(array(new InputArgument('name'), new InputArgument('bar', InputArgument::OPTIONAL, '', 'default'))));
|
||||
$input = new ArrayInput(['name' => 'foo'], new InputDefinition([new InputArgument('name'), new InputArgument('bar', InputArgument::OPTIONAL, '', 'default')]));
|
||||
$this->assertEquals('default', $input->getArgument('bar'), '->getArgument() returns the default value for optional arguments');
|
||||
$this->assertEquals(array('name' => 'foo', 'bar' => 'default'), $input->getArguments(), '->getArguments() returns all argument values, even optional ones');
|
||||
$this->assertEquals(['name' => 'foo', 'bar' => 'default'], $input->getArguments(), '->getArguments() returns all argument values, even optional ones');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -87,7 +87,7 @@ class InputTest extends TestCase
|
||||
*/
|
||||
public function testSetInvalidArgument()
|
||||
{
|
||||
$input = new ArrayInput(array('name' => 'foo'), new InputDefinition(array(new InputArgument('name'), new InputArgument('bar', InputArgument::OPTIONAL, '', 'default'))));
|
||||
$input = new ArrayInput(['name' => 'foo'], new InputDefinition([new InputArgument('name'), new InputArgument('bar', InputArgument::OPTIONAL, '', 'default')]));
|
||||
$input->setArgument('foo', 'bar');
|
||||
}
|
||||
|
||||
@@ -97,7 +97,7 @@ class InputTest extends TestCase
|
||||
*/
|
||||
public function testGetInvalidArgument()
|
||||
{
|
||||
$input = new ArrayInput(array('name' => 'foo'), new InputDefinition(array(new InputArgument('name'), new InputArgument('bar', InputArgument::OPTIONAL, '', 'default'))));
|
||||
$input = new ArrayInput(['name' => 'foo'], new InputDefinition([new InputArgument('name'), new InputArgument('bar', InputArgument::OPTIONAL, '', 'default')]));
|
||||
$input->getArgument('foo');
|
||||
}
|
||||
|
||||
@@ -107,8 +107,8 @@ class InputTest extends TestCase
|
||||
*/
|
||||
public function testValidateWithMissingArguments()
|
||||
{
|
||||
$input = new ArrayInput(array());
|
||||
$input->bind(new InputDefinition(array(new InputArgument('name', InputArgument::REQUIRED))));
|
||||
$input = new ArrayInput([]);
|
||||
$input->bind(new InputDefinition([new InputArgument('name', InputArgument::REQUIRED)]));
|
||||
$input->validate();
|
||||
}
|
||||
|
||||
@@ -118,22 +118,22 @@ class InputTest extends TestCase
|
||||
*/
|
||||
public function testValidateWithMissingRequiredArguments()
|
||||
{
|
||||
$input = new ArrayInput(array('bar' => 'baz'));
|
||||
$input->bind(new InputDefinition(array(new InputArgument('name', InputArgument::REQUIRED), new InputArgument('bar', InputArgument::OPTIONAL))));
|
||||
$input = new ArrayInput(['bar' => 'baz']);
|
||||
$input->bind(new InputDefinition([new InputArgument('name', InputArgument::REQUIRED), new InputArgument('bar', InputArgument::OPTIONAL)]));
|
||||
$input->validate();
|
||||
}
|
||||
|
||||
public function testValidate()
|
||||
{
|
||||
$input = new ArrayInput(array('name' => 'foo'));
|
||||
$input->bind(new InputDefinition(array(new InputArgument('name', InputArgument::REQUIRED))));
|
||||
$input = new ArrayInput(['name' => 'foo']);
|
||||
$input->bind(new InputDefinition([new InputArgument('name', InputArgument::REQUIRED)]));
|
||||
|
||||
$this->assertNull($input->validate());
|
||||
}
|
||||
|
||||
public function testSetGetInteractive()
|
||||
{
|
||||
$input = new ArrayInput(array());
|
||||
$input = new ArrayInput([]);
|
||||
$this->assertTrue($input->isInteractive(), '->isInteractive() returns whether the input should be interactive or not');
|
||||
$input->setInteractive(false);
|
||||
$this->assertFalse($input->isInteractive(), '->setInteractive() changes the interactive flag');
|
||||
@@ -141,7 +141,7 @@ class InputTest extends TestCase
|
||||
|
||||
public function testSetGetStream()
|
||||
{
|
||||
$input = new ArrayInput(array());
|
||||
$input = new ArrayInput([]);
|
||||
$stream = fopen('php://memory', 'r+', false);
|
||||
$input->setStream($stream);
|
||||
$this->assertSame($stream, $input->getStream());
|
||||
|
||||
@@ -33,7 +33,7 @@ class StringInputTest extends TestCase
|
||||
public function testInputOptionWithGivenString()
|
||||
{
|
||||
$definition = new InputDefinition(
|
||||
array(new InputOption('foo', null, InputOption::VALUE_REQUIRED))
|
||||
[new InputOption('foo', null, InputOption::VALUE_REQUIRED)]
|
||||
);
|
||||
|
||||
// call to bind
|
||||
@@ -44,33 +44,33 @@ class StringInputTest extends TestCase
|
||||
|
||||
public function getTokenizeData()
|
||||
{
|
||||
return array(
|
||||
array('', array(), '->tokenize() parses an empty string'),
|
||||
array('foo', array('foo'), '->tokenize() parses arguments'),
|
||||
array(' foo bar ', array('foo', 'bar'), '->tokenize() ignores whitespaces between arguments'),
|
||||
array('"quoted"', array('quoted'), '->tokenize() parses quoted arguments'),
|
||||
array("'quoted'", array('quoted'), '->tokenize() parses quoted arguments'),
|
||||
array("'a\rb\nc\td'", array("a\rb\nc\td"), '->tokenize() parses whitespace chars in strings'),
|
||||
array("'a'\r'b'\n'c'\t'd'", array('a', 'b', 'c', 'd'), '->tokenize() parses whitespace chars between args as spaces'),
|
||||
array('\"quoted\"', array('"quoted"'), '->tokenize() parses escaped-quoted arguments'),
|
||||
array("\'quoted\'", array('\'quoted\''), '->tokenize() parses escaped-quoted arguments'),
|
||||
array('-a', array('-a'), '->tokenize() parses short options'),
|
||||
array('-azc', array('-azc'), '->tokenize() parses aggregated short options'),
|
||||
array('-awithavalue', array('-awithavalue'), '->tokenize() parses short options with a value'),
|
||||
array('-a"foo bar"', array('-afoo bar'), '->tokenize() parses short options with a value'),
|
||||
array('-a"foo bar""foo bar"', array('-afoo barfoo bar'), '->tokenize() parses short options with a value'),
|
||||
array('-a\'foo bar\'', array('-afoo bar'), '->tokenize() parses short options with a value'),
|
||||
array('-a\'foo bar\'\'foo bar\'', array('-afoo barfoo bar'), '->tokenize() parses short options with a value'),
|
||||
array('-a\'foo bar\'"foo bar"', array('-afoo barfoo bar'), '->tokenize() parses short options with a value'),
|
||||
array('--long-option', array('--long-option'), '->tokenize() parses long options'),
|
||||
array('--long-option=foo', array('--long-option=foo'), '->tokenize() parses long options with a value'),
|
||||
array('--long-option="foo bar"', array('--long-option=foo bar'), '->tokenize() parses long options with a value'),
|
||||
array('--long-option="foo bar""another"', array('--long-option=foo baranother'), '->tokenize() parses long options with a value'),
|
||||
array('--long-option=\'foo bar\'', array('--long-option=foo bar'), '->tokenize() parses long options with a value'),
|
||||
array("--long-option='foo bar''another'", array('--long-option=foo baranother'), '->tokenize() parses long options with a value'),
|
||||
array("--long-option='foo bar'\"another\"", array('--long-option=foo baranother'), '->tokenize() parses long options with a value'),
|
||||
array('foo -a -ffoo --long bar', array('foo', '-a', '-ffoo', '--long', 'bar'), '->tokenize() parses when several arguments and options'),
|
||||
);
|
||||
return [
|
||||
['', [], '->tokenize() parses an empty string'],
|
||||
['foo', ['foo'], '->tokenize() parses arguments'],
|
||||
[' foo bar ', ['foo', 'bar'], '->tokenize() ignores whitespaces between arguments'],
|
||||
['"quoted"', ['quoted'], '->tokenize() parses quoted arguments'],
|
||||
["'quoted'", ['quoted'], '->tokenize() parses quoted arguments'],
|
||||
["'a\rb\nc\td'", ["a\rb\nc\td"], '->tokenize() parses whitespace chars in strings'],
|
||||
["'a'\r'b'\n'c'\t'd'", ['a', 'b', 'c', 'd'], '->tokenize() parses whitespace chars between args as spaces'],
|
||||
['\"quoted\"', ['"quoted"'], '->tokenize() parses escaped-quoted arguments'],
|
||||
["\'quoted\'", ['\'quoted\''], '->tokenize() parses escaped-quoted arguments'],
|
||||
['-a', ['-a'], '->tokenize() parses short options'],
|
||||
['-azc', ['-azc'], '->tokenize() parses aggregated short options'],
|
||||
['-awithavalue', ['-awithavalue'], '->tokenize() parses short options with a value'],
|
||||
['-a"foo bar"', ['-afoo bar'], '->tokenize() parses short options with a value'],
|
||||
['-a"foo bar""foo bar"', ['-afoo barfoo bar'], '->tokenize() parses short options with a value'],
|
||||
['-a\'foo bar\'', ['-afoo bar'], '->tokenize() parses short options with a value'],
|
||||
['-a\'foo bar\'\'foo bar\'', ['-afoo barfoo bar'], '->tokenize() parses short options with a value'],
|
||||
['-a\'foo bar\'"foo bar"', ['-afoo barfoo bar'], '->tokenize() parses short options with a value'],
|
||||
['--long-option', ['--long-option'], '->tokenize() parses long options'],
|
||||
['--long-option=foo', ['--long-option=foo'], '->tokenize() parses long options with a value'],
|
||||
['--long-option="foo bar"', ['--long-option=foo bar'], '->tokenize() parses long options with a value'],
|
||||
['--long-option="foo bar""another"', ['--long-option=foo baranother'], '->tokenize() parses long options with a value'],
|
||||
['--long-option=\'foo bar\'', ['--long-option=foo bar'], '->tokenize() parses long options with a value'],
|
||||
["--long-option='foo bar''another'", ['--long-option=foo baranother'], '->tokenize() parses long options with a value'],
|
||||
["--long-option='foo bar'\"another\"", ['--long-option=foo baranother'], '->tokenize() parses long options with a value'],
|
||||
['foo -a -ffoo --long bar', ['foo', '-a', '-ffoo', '--long', 'bar'], '->tokenize() parses when several arguments and options'],
|
||||
];
|
||||
}
|
||||
|
||||
public function testToString()
|
||||
|
||||
Reference in New Issue
Block a user