summaryrefslogtreecommitdiff
path: root/vendor/symfony/console/Tests/Input
diff options
context:
space:
mode:
authorFrédéric Guillot <fred@kanboard.net>2017-12-15 11:24:35 -0800
committerFrédéric Guillot <fred@kanboard.net>2017-12-15 11:55:42 -0800
commita93b8e10f5954be0853eec693c13e84c4bd9e6f2 (patch)
treeeda5de9494b819235616e8623bb3393e9cc373af /vendor/symfony/console/Tests/Input
parent2c72a283f2d51034f85f4e2ca8b194d304a3c433 (diff)
Kanboard requires at least PHP 5.6 now
Diffstat (limited to 'vendor/symfony/console/Tests/Input')
-rw-r--r--vendor/symfony/console/Tests/Input/ArgvInputTest.php125
-rw-r--r--vendor/symfony/console/Tests/Input/ArrayInputTest.php42
-rw-r--r--vendor/symfony/console/Tests/Input/InputArgumentTest.php10
-rw-r--r--vendor/symfony/console/Tests/Input/InputDefinitionTest.php43
-rw-r--r--vendor/symfony/console/Tests/Input/InputOptionTest.php10
-rw-r--r--vendor/symfony/console/Tests/Input/InputTest.php19
-rw-r--r--vendor/symfony/console/Tests/Input/StringInputTest.php16
7 files changed, 192 insertions, 73 deletions
diff --git a/vendor/symfony/console/Tests/Input/ArgvInputTest.php b/vendor/symfony/console/Tests/Input/ArgvInputTest.php
index d2c540e6..01d6e4b9 100644
--- a/vendor/symfony/console/Tests/Input/ArgvInputTest.php
+++ b/vendor/symfony/console/Tests/Input/ArgvInputTest.php
@@ -11,12 +11,13 @@
namespace Symfony\Component\Console\Tests\Input;
+use PHPUnit\Framework\TestCase;
use Symfony\Component\Console\Input\ArgvInput;
use Symfony\Component\Console\Input\InputDefinition;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputOption;
-class ArgvInputTest extends \PHPUnit_Framework_TestCase
+class ArgvInputTest extends TestCase
{
public function testConstructor()
{
@@ -47,7 +48,7 @@ class ArgvInputTest extends \PHPUnit_Framework_TestCase
$input = new ArgvInput($input);
$input->bind(new InputDefinition($options));
- $this->assertEquals($expectedOptions, $input->getOptions(), $message);
+ $this->assertSame($expectedOptions, $input->getOptions(), $message);
}
public function provideOptions()
@@ -72,6 +73,36 @@ class ArgvInputTest extends \PHPUnit_Framework_TestCase
'->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' => ''),
+ '->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' => ''),
+ '->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),
+ '->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' => ''),
+ '->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),
+ '->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),
@@ -151,7 +182,12 @@ class ArgvInputTest extends \PHPUnit_Framework_TestCase
*/
public function testInvalidInput($argv, $definition, $expectedExceptionMessage)
{
- $this->setExpectedException('RuntimeException', $expectedExceptionMessage);
+ if (method_exists($this, 'expectException')) {
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage($expectedExceptionMessage);
+ } else {
+ $this->setExpectedException('RuntimeException', $expectedExceptionMessage);
+ }
$input = new ArgvInput($argv);
$input->bind($definition);
@@ -183,7 +219,17 @@ class ArgvInputTest extends \PHPUnit_Framework_TestCase
array(
array('cli.php', 'foo', 'bar'),
new InputDefinition(),
- 'Too many arguments.',
+ 'No arguments expected, got "foo".',
+ ),
+ array(
+ array('cli.php', 'foo', 'bar'),
+ new InputDefinition(array(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'))),
+ 'Too many arguments, expected arguments "number" "county".',
),
array(
array('cli.php', '--foo'),
@@ -224,14 +270,14 @@ class ArgvInputTest extends \PHPUnit_Framework_TestCase
$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', null)), $input->getOptions(), '->parse() parses empty array options as null ("--option=value" syntax)');
+ $this->assertSame(array('name' => array('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(
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 as null ("--option value" syntax)');
+ $this->assertSame(array('name' => array('foo', 'bar', null), 'anotherOption' => true), $input->getOptions(), '->parse() parses empty array options ("--option value" syntax)');
}
public function testParseNegativeNumberAfterDoubleDash()
@@ -268,6 +314,12 @@ class ArgvInputTest extends \PHPUnit_Framework_TestCase
$input = new ArgvInput(array('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', '-fh'));
+ $this->assertTrue($input->hasParameterOption('-fh'), '->hasParameterOption() returns true if the given short option is in the raw input');
+
+ $input = new ArgvInput(array('cli.php', '-e=test'));
+ $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'));
$this->assertTrue($input->hasParameterOption('--foo'), '->hasParameterOption() returns true if the given short option is in the raw input');
@@ -278,6 +330,21 @@ class ArgvInputTest extends \PHPUnit_Framework_TestCase
$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'));
+ $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'));
+ $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'));
+ $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'));
+ $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 testToString()
{
$input = new ArgvInput(array('cli.php', '-f', 'foo'));
@@ -290,21 +357,25 @@ class ArgvInputTest extends \PHPUnit_Framework_TestCase
/**
* @dataProvider provideGetParameterOptionValues
*/
- public function testGetParameterOptionEqualSign($argv, $key, $expected)
+ public function testGetParameterOptionEqualSign($argv, $key, $onlyParams, $expected)
{
$input = new ArgvInput($argv);
- $this->assertEquals($expected, $input->getParameterOption($key), '->getParameterOption() returns the expected value');
+ $this->assertEquals($expected, $input->getParameterOption($key, false, $onlyParams), '->getParameterOption() returns the expected value');
}
public function provideGetParameterOptionValues()
{
return array(
- array(array('app/console', 'foo:bar', '-e', 'dev'), '-e', 'dev'),
- array(array('app/console', 'foo:bar', '--env=dev'), '--env', 'dev'),
- array(array('app/console', 'foo:bar', '-e', 'dev'), array('-e', '--env'), 'dev'),
- array(array('app/console', 'foo:bar', '--env=dev'), array('-e', '--env'), 'dev'),
- array(array('app/console', 'foo:bar', '--env=dev', '--en=1'), array('--en'), '1'),
- array(array('app/console', 'foo:bar', '--env=dev', '', '--en=1'), array('--en'), '1'),
+ array(array('app/console', 'foo:bar', '-e', 'dev'), '-e', false, 'dev'),
+ array(array('app/console', 'foo:bar', '--env=dev'), '--env', false, 'dev'),
+ array(array('app/console', 'foo:bar', '-e', 'dev'), array('-e', '--env'), false, 'dev'),
+ array(array('app/console', 'foo:bar', '--env=dev'), array('-e', '--env'), false, 'dev'),
+ array(array('app/console', 'foo:bar', '--env=dev', '--en=1'), array('--en'), false, '1'),
+ array(array('app/console', 'foo:bar', '--env=dev', '', '--en=1'), array('--en'), false, '1'),
+ array(array('app/console', 'foo:bar', '--env', 'val'), '--env', false, 'val'),
+ array(array('app/console', 'foo:bar', '--env', 'val', '--dummy'), '--env', false, 'val'),
+ array(array('app/console', 'foo:bar', '--', '--env=dev'), '--env', false, 'dev'),
+ array(array('app/console', 'foo:bar', '--', '--env=dev'), '--env', true, false),
);
}
@@ -314,4 +385,30 @@ class ArgvInputTest extends \PHPUnit_Framework_TestCase
$input->bind(new InputDefinition(array(new InputArgument('file'))));
$this->assertEquals(array('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(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');
+ }
+
+ 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(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');
+ }
}
diff --git a/vendor/symfony/console/Tests/Input/ArrayInputTest.php b/vendor/symfony/console/Tests/Input/ArrayInputTest.php
index cc89083c..3e858435 100644
--- a/vendor/symfony/console/Tests/Input/ArrayInputTest.php
+++ b/vendor/symfony/console/Tests/Input/ArrayInputTest.php
@@ -11,12 +11,13 @@
namespace Symfony\Component\Console\Tests\Input;
+use PHPUnit\Framework\TestCase;
use Symfony\Component\Console\Input\ArrayInput;
use Symfony\Component\Console\Input\InputDefinition;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputOption;
-class ArrayInputTest extends \PHPUnit_Framework_TestCase
+class ArrayInputTest extends TestCase
{
public function testGetFirstArgument()
{
@@ -36,15 +37,24 @@ class ArrayInputTest extends \PHPUnit_Framework_TestCase
$input = new ArrayInput(array('--foo'));
$this->assertTrue($input->hasParameterOption('--foo'), '->hasParameterOption() returns true if an option is present in the passed parameters');
+
+ $input = new ArrayInput(array('--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'));
$this->assertEquals('bar', $input->getParameterOption('--foo'), '->getParameterOption() returns the option of specified name');
+ $this->assertFalse($input->getParameterOption('--bar'), '->getParameterOption() returns the default if an option is not present in the passed parameters');
$input = new ArrayInput(array('Fabien', '--foo' => 'bar'));
$this->assertEquals('bar', $input->getParameterOption('--foo'), '->getParameterOption() returns the option of specified name');
+
+ $input = new ArrayInput(array('--foo', '--', '--bar' => 'woop'));
+ $this->assertEquals('woop', $input->getParameterOption('--bar'), '->getParameterOption() returns the correct value if an option is present in the passed parameters');
+ $this->assertFalse($input->getParameterOption('--bar', false, true), '->getParameterOption() returns false if an option is present in the passed parameters after an end of options signal');
}
public function testParseArguments()
@@ -80,9 +90,15 @@ class ArrayInputTest extends \PHPUnit_Framework_TestCase
'->parse() parses long options with a default value',
),
array(
- array('--foo' => null),
+ array(),
array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL, '', 'default')),
array('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),
'->parse() parses long options with a default value',
),
array(
@@ -91,6 +107,18 @@ class ArrayInputTest extends \PHPUnit_Framework_TestCase
array('foo' => 'bar'),
'->parse() parses short options',
),
+ array(
+ array('--' => null, '-f' => 'bar'),
+ array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL, '', 'default')),
+ array('foo' => 'default'),
+ '->parse() does not parse opts after an end of options signal',
+ ),
+ array(
+ array('--' => null),
+ array(),
+ array(),
+ '->parse() does not choke on end of options signal',
+ ),
);
}
@@ -99,7 +127,12 @@ class ArrayInputTest extends \PHPUnit_Framework_TestCase
*/
public function testParseInvalidInput($parameters, $definition, $expectedExceptionMessage)
{
- $this->setExpectedException('InvalidArgumentException', $expectedExceptionMessage);
+ if (method_exists($this, 'expectException')) {
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage($expectedExceptionMessage);
+ } else {
+ $this->setExpectedException('InvalidArgumentException', $expectedExceptionMessage);
+ }
new ArrayInput($parameters, $definition);
}
@@ -134,5 +167,8 @@ class ArrayInputTest extends \PHPUnit_Framework_TestCase
{
$input = new ArrayInput(array('-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')));
+ $this->assertSame('-b=bval_1 -b=bval_2 --f=fval_1 --f=fval_2', (string) $input);
}
}
diff --git a/vendor/symfony/console/Tests/Input/InputArgumentTest.php b/vendor/symfony/console/Tests/Input/InputArgumentTest.php
index cfb37cd4..66af98b3 100644
--- a/vendor/symfony/console/Tests/Input/InputArgumentTest.php
+++ b/vendor/symfony/console/Tests/Input/InputArgumentTest.php
@@ -11,9 +11,10 @@
namespace Symfony\Component\Console\Tests\Input;
+use PHPUnit\Framework\TestCase;
use Symfony\Component\Console\Input\InputArgument;
-class InputArgumentTest extends \PHPUnit_Framework_TestCase
+class InputArgumentTest extends TestCase
{
public function testConstructor()
{
@@ -41,7 +42,12 @@ class InputArgumentTest extends \PHPUnit_Framework_TestCase
*/
public function testInvalidModes($mode)
{
- $this->setExpectedException('InvalidArgumentException', sprintf('Argument mode "%s" is not valid.', $mode));
+ if (method_exists($this, 'expectException')) {
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage(sprintf('Argument mode "%s" is not valid.', $mode));
+ } else {
+ $this->setExpectedException('InvalidArgumentException', sprintf('Argument mode "%s" is not valid.', $mode));
+ }
new InputArgument('foo', $mode);
}
diff --git a/vendor/symfony/console/Tests/Input/InputDefinitionTest.php b/vendor/symfony/console/Tests/Input/InputDefinitionTest.php
index 7e0a2425..1374ddfd 100644
--- a/vendor/symfony/console/Tests/Input/InputDefinitionTest.php
+++ b/vendor/symfony/console/Tests/Input/InputDefinitionTest.php
@@ -11,15 +11,19 @@
namespace Symfony\Component\Console\Tests\Input;
+use PHPUnit\Framework\TestCase;
use Symfony\Component\Console\Input\InputDefinition;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputOption;
-class InputDefinitionTest extends \PHPUnit_Framework_TestCase
+class InputDefinitionTest extends TestCase
{
protected static $fixtures;
- protected $foo, $bar, $foo1, $foo2;
+ protected $foo;
+ protected $bar;
+ protected $foo1;
+ protected $foo2;
public static function setUpBeforeClass()
{
@@ -383,41 +387,6 @@ class InputDefinitionTest extends \PHPUnit_Framework_TestCase
$this->assertEquals('[options] [--] [<cat>]', $definition->getSynopsis(true), '->getSynopsis(true) groups options in [options]');
}
- /**
- * @group legacy
- */
- public function testLegacyAsText()
- {
- $definition = new InputDefinition(array(
- new InputArgument('foo', InputArgument::OPTIONAL, 'The foo argument'),
- new InputArgument('baz', InputArgument::OPTIONAL, 'The baz argument', true),
- new InputArgument('bar', InputArgument::OPTIONAL | InputArgument::IS_ARRAY, 'The bar argument', array('http://foo.com/')),
- new InputOption('foo', 'f', InputOption::VALUE_REQUIRED, 'The foo option'),
- new InputOption('baz', null, InputOption::VALUE_OPTIONAL, 'The baz option', false),
- new InputOption('bar', 'b', InputOption::VALUE_OPTIONAL, 'The bar option', 'bar'),
- new InputOption('qux', '', InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, 'The qux option', array('http://foo.com/', 'bar')),
- new InputOption('qux2', '', InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, 'The qux2 option', array('foo' => 'bar')),
- ));
-
- $this->assertStringEqualsFile(self::$fixtures.'/definition_astext.txt', $definition->asText(), '->asText() returns a textual representation of the InputDefinition');
- }
-
- /**
- * @group legacy
- */
- public function testLegacyAsXml()
- {
- $definition = new InputDefinition(array(
- new InputArgument('foo', InputArgument::OPTIONAL, 'The foo argument'),
- new InputArgument('baz', InputArgument::OPTIONAL, 'The baz argument', true),
- new InputArgument('bar', InputArgument::OPTIONAL | InputArgument::IS_ARRAY, 'The bar argument', array('bar')),
- new InputOption('foo', 'f', InputOption::VALUE_REQUIRED, 'The foo option'),
- new InputOption('baz', null, InputOption::VALUE_OPTIONAL, 'The baz option', false),
- new InputOption('bar', 'b', InputOption::VALUE_OPTIONAL, 'The bar option', 'bar'),
- ));
- $this->assertXmlStringEqualsXmlFile(self::$fixtures.'/definition_asxml.txt', $definition->asXml(), '->asXml() returns an XML representation of the InputDefinition');
- }
-
protected function initializeArguments()
{
$this->foo = new InputArgument('foo');
diff --git a/vendor/symfony/console/Tests/Input/InputOptionTest.php b/vendor/symfony/console/Tests/Input/InputOptionTest.php
index 53ce1df8..943bf607 100644
--- a/vendor/symfony/console/Tests/Input/InputOptionTest.php
+++ b/vendor/symfony/console/Tests/Input/InputOptionTest.php
@@ -11,9 +11,10 @@
namespace Symfony\Component\Console\Tests\Input;
+use PHPUnit\Framework\TestCase;
use Symfony\Component\Console\Input\InputOption;
-class InputOptionTest extends \PHPUnit_Framework_TestCase
+class InputOptionTest extends TestCase
{
public function testConstructor()
{
@@ -77,7 +78,12 @@ class InputOptionTest extends \PHPUnit_Framework_TestCase
*/
public function testInvalidModes($mode)
{
- $this->setExpectedException('InvalidArgumentException', sprintf('Option mode "%s" is not valid.', $mode));
+ if (method_exists($this, 'expectException')) {
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage(sprintf('Option mode "%s" is not valid.', $mode));
+ } else {
+ $this->setExpectedException('InvalidArgumentException', sprintf('Option mode "%s" is not valid.', $mode));
+ }
new InputOption('foo', 'f', $mode);
}
diff --git a/vendor/symfony/console/Tests/Input/InputTest.php b/vendor/symfony/console/Tests/Input/InputTest.php
index eb1c6617..4410d2f5 100644
--- a/vendor/symfony/console/Tests/Input/InputTest.php
+++ b/vendor/symfony/console/Tests/Input/InputTest.php
@@ -11,12 +11,13 @@
namespace Symfony\Component\Console\Tests\Input;
+use PHPUnit\Framework\TestCase;
use Symfony\Component\Console\Input\ArrayInput;
use Symfony\Component\Console\Input\InputDefinition;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputOption;
-class InputTest extends \PHPUnit_Framework_TestCase
+class InputTest extends TestCase
{
public function testConstructor()
{
@@ -36,6 +37,14 @@ class InputTest extends \PHPUnit_Framework_TestCase
$input = new ArrayInput(array('--name' => 'foo'), new InputDefinition(array(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');
+
+ $input = new ArrayInput(array('--name' => 'foo', '--bar' => ''), new InputDefinition(array(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.');
+
+ $input = new ArrayInput(array('--name' => 'foo', '--bar' => null), new InputDefinition(array(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');
}
/**
@@ -129,4 +138,12 @@ class InputTest extends \PHPUnit_Framework_TestCase
$input->setInteractive(false);
$this->assertFalse($input->isInteractive(), '->setInteractive() changes the interactive flag');
}
+
+ public function testSetGetStream()
+ {
+ $input = new ArrayInput(array());
+ $stream = fopen('php://memory', 'r+', false);
+ $input->setStream($stream);
+ $this->assertSame($stream, $input->getStream());
+ }
}
diff --git a/vendor/symfony/console/Tests/Input/StringInputTest.php b/vendor/symfony/console/Tests/Input/StringInputTest.php
index c8a560f6..f2e3467e 100644
--- a/vendor/symfony/console/Tests/Input/StringInputTest.php
+++ b/vendor/symfony/console/Tests/Input/StringInputTest.php
@@ -11,11 +11,12 @@
namespace Symfony\Component\Console\Tests\Input;
+use PHPUnit\Framework\TestCase;
use Symfony\Component\Console\Input\InputDefinition;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Input\StringInput;
-class StringInputTest extends \PHPUnit_Framework_TestCase
+class StringInputTest extends TestCase
{
/**
* @dataProvider getTokenizeData
@@ -41,19 +42,6 @@ class StringInputTest extends \PHPUnit_Framework_TestCase
$this->assertEquals('bar', $input->getOption('foo'));
}
- /**
- * @group legacy
- */
- public function testLegacyInputOptionDefinitionInConstructor()
- {
- $definition = new InputDefinition(
- array(new InputOption('foo', null, InputOption::VALUE_REQUIRED))
- );
-
- $input = new StringInput('--foo=bar', $definition);
- $this->assertEquals('bar', $input->getOption('foo'));
- }
-
public function getTokenizeData()
{
return array(