Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 70c0e33

Browse filesBrowse files
committed
fix
1 parent 1ebe937 commit 70c0e33
Copy full SHA for 70c0e33

File tree

5 files changed

+62
-89
lines changed
Filter options

5 files changed

+62
-89
lines changed

‎src/Symfony/Component/Console/Input/Input.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Console/Input/Input.php
+16-35Lines changed: 16 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public function validate(): void
6363
$definition = $this->definition;
6464
$givenArguments = $this->arguments;
6565

66-
$missingArguments = array_filter(\array_keys($definition->getArguments()), fn ($argument) => !\array_key_exists($argument, $givenArguments) && $definition->getArgument($argument)->isRequired());
66+
$missingArguments = array_filter(array_keys($definition->getArguments()), fn ($argument) => !\array_key_exists($argument, $givenArguments) && $definition->getArgument($argument)->isRequired());
6767

6868
if (\count($missingArguments) > 0) {
6969
throw new RuntimeException(\sprintf('Not enough arguments (missing: "%s").', implode(', ', $missingArguments)));
@@ -89,29 +89,12 @@ public function getArguments(): array
8989
* Returns all the given arguments NOT merged with the default values.
9090
*
9191
* @param bool $strip Whether to return the raw parameters (false) or the values after the command name (true)
92-
*
93-
* @return array<string|bool|int|float|null|array<string|bool|int|float|null>>
92+
*z
93+
* @return array<string|bool|int|float|array<string|bool|int|float|null>|null>
9494
*/
95-
public function getRawArguments(bool $strip = false): array
95+
public function getRawArguments(): array
9696
{
97-
if (!$strip) {
98-
return $this->arguments;
99-
}
100-
101-
$arguments = [];
102-
$keep = false;
103-
foreach ($this->arguments as $argument) {
104-
if (!$keep && $argument === $this->getFirstArgument()) {
105-
$keep = true;
106-
107-
continue;
108-
}
109-
if ($keep) {
110-
$arguments[] = $argument;
111-
}
112-
}
113-
114-
return $arguments;
97+
return $this->arguments;
11598
}
11699

117100
public function getArgument(string $name): mixed
@@ -145,7 +128,7 @@ public function getOptions(): array
145128
/**
146129
* Returns all the given options NOT merged with the default values.
147130
*
148-
* @return array<string|bool|int|float|null|array<string|bool|int|float|null>>
131+
* @return array<string|bool|int|float|array<string|bool|int|float|null>|null>
149132
*/
150133
public function getRawOptions(): array
151134
{
@@ -224,10 +207,10 @@ public function unparse(array $optionNames = []): array
224207
{
225208
$rawOptions = $this->getRawOptions();
226209

227-
$filteredRawOptions = count($optionNames) === 0
210+
$filteredRawOptions = 0 === \count($optionNames)
228211
? $rawOptions
229212
: array_intersect_key($rawOptions, array_fill_keys($optionNames, ''),
230-
);
213+
);
231214

232215
return array_map(
233216
fn (string $optionName) => $this->unparseOption(
@@ -240,27 +223,25 @@ public function unparse(array $optionNames = []): array
240223
}
241224

242225
/**
243-
* @param string|bool|int|float|null|array<string|bool|int|float|null> $value
226+
* @param string|bool|int|float|array<string|bool|int|float|null>|null $value
244227
*/
245228
private function unparseOption(
246229
InputOption $option,
247230
string $name,
248231
array|bool|float|int|string|null $value,
249-
): string
250-
{
251-
return match(true) {
252-
$option->isNegatable() => sprintf('--%s%s', $value ? '' : 'no-', $name),
253-
!$option->acceptValue() => sprintf('--%s', $name),
254-
$option->isArray() => implode('', array_map(fn($item) => $this->unparseOptionWithValue($name, $item), $value,)),
232+
): string {
233+
return match (true) {
234+
$option->isNegatable() => \sprintf('--%s%s', $value ? '' : 'no-', $name),
235+
!$option->acceptValue() => \sprintf('--%s', $name),
236+
$option->isArray() => implode('', array_map(fn ($item) => $this->unparseOptionWithValue($name, $item), $value)),
255237
default => $this->unparseOptionWithValue($name, $value),
256238
};
257239
}
258240

259241
private function unparseOptionWithValue(
260242
string $name,
261243
bool|float|int|string|null $value,
262-
): string
263-
{
264-
return sprintf('--%s=%s', $name, $this->escapeToken($value));
244+
): string {
245+
return \sprintf('--%s=%s', $name, $this->escapeToken($value));
265246
}
266247
}

‎src/Symfony/Component/Console/Input/InputInterface.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Console/Input/InputInterface.php
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
* @author Fabien Potencier <fabien@symfony.com>
2121
*
2222
* @method getRawArguments(bool $strip = false): array<string|bool|int|float|null|array<string|bool|int|float|null>> Returns all the given arguments NOT merged with the default values.
23-
* @method getRawOptions(): array<string|bool|int|float|null|array<string|bool|int|float|null>> Returns all the given options NOT merged with the default values.
23+
* @method getRawOptions(): array<string|bool|int|float|array<string|bool|int|float|null>|null> Returns all the given options NOT merged with the default values.
2424
*/
2525
interface InputInterface
2626
{

‎src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php
+28-29Lines changed: 28 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,17 @@ public function testConstructor()
2626
$r = new \ReflectionObject($input);
2727
$p = $r->getProperty('tokens');
2828

29-
$this->assertSame(['foo'], $p->getValue($input), '__construct() automatically get its input from the argv server variable');
29+
$this->assertEquals(['foo'], $p->getValue($input), '__construct() automatically get its input from the argv server variable');
3030
}
3131

3232
public function testParseArguments()
3333
{
3434
$input = new ArgvInput(['cli.php', 'foo']);
3535
$input->bind(new InputDefinition([new InputArgument('name')]));
36-
$this->assertSame(['name' => 'foo'], $input->getArguments(), '->parse() parses required arguments');
36+
$this->assertEquals(['name' => 'foo'], $input->getArguments(), '->parse() parses required arguments');
3737

3838
$input->bind(new InputDefinition([new InputArgument('name')]));
39-
$this->assertSame(['name' => 'foo'], $input->getArguments(), '->parse() is stateless');
39+
$this->assertEquals(['name' => 'foo'], $input->getArguments(), '->parse() is stateless');
4040
}
4141

4242
/**
@@ -57,7 +57,7 @@ public function testParseOptionsNegatable($input, $options, $expectedOptions, $m
5757
{
5858
$input = new ArgvInput($input);
5959
$input->bind(new InputDefinition($options));
60-
$this->assertSame($expectedOptions, $input->getOptions(), $message);
60+
$this->assertEquals($expectedOptions, $input->getOptions(), $message);
6161
}
6262

6363
public static function provideOptions()
@@ -363,19 +363,19 @@ public function testParseArrayArgument()
363363
$input = new ArgvInput(['cli.php', 'foo', 'bar', 'baz', 'bat']);
364364
$input->bind(new InputDefinition([new InputArgument('name', InputArgument::IS_ARRAY)]));
365365

366-
$this->assertSame(['name' => ['foo', 'bar', 'baz', 'bat']], $input->getArguments(), '->parse() parses array arguments');
366+
$this->assertEquals(['name' => ['foo', 'bar', 'baz', 'bat']], $input->getArguments(), '->parse() parses array arguments');
367367
}
368368

369369
public function testParseArrayOption()
370370
{
371371
$input = new ArgvInput(['cli.php', '--name=foo', '--name=bar', '--name=baz']);
372372
$input->bind(new InputDefinition([new InputOption('name', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY)]));
373373

374-
$this->assertSame(['name' => ['foo', 'bar', 'baz']], $input->getOptions(), '->parse() parses array options ("--option=value" syntax)');
374+
$this->assertEquals(['name' => ['foo', 'bar', 'baz']], $input->getOptions(), '->parse() parses array options ("--option=value" syntax)');
375375

376376
$input = new ArgvInput(['cli.php', '--name', 'foo', '--name', 'bar', '--name', 'baz']);
377377
$input->bind(new InputDefinition([new InputOption('name', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY)]));
378-
$this->assertSame(['name' => ['foo', 'bar', 'baz']], $input->getOptions(), '->parse() parses array options ("--option value" syntax)');
378+
$this->assertEquals(['name' => ['foo', 'bar', 'baz']], $input->getOptions(), '->parse() parses array options ("--option value" syntax)');
379379

380380
$input = new ArgvInput(['cli.php', '--name=foo', '--name=bar', '--name=']);
381381
$input->bind(new InputDefinition([new InputOption('name', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY)]));
@@ -393,20 +393,20 @@ public function testParseNegativeNumberAfterDoubleDash()
393393
{
394394
$input = new ArgvInput(['cli.php', '--', '-1']);
395395
$input->bind(new InputDefinition([new InputArgument('number')]));
396-
$this->assertSame(['number' => '-1'], $input->getArguments(), '->parse() parses arguments with leading dashes as arguments after having encountered a double-dash sequence');
396+
$this->assertEquals(['number' => '-1'], $input->getArguments(), '->parse() parses arguments with leading dashes as arguments after having encountered a double-dash sequence');
397397

398398
$input = new ArgvInput(['cli.php', '-f', 'bar', '--', '-1']);
399399
$input->bind(new InputDefinition([new InputArgument('number'), new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL)]));
400-
$this->assertSame(['foo' => 'bar'], $input->getOptions(), '->parse() parses arguments with leading dashes as options before having encountered a double-dash sequence');
401-
$this->assertSame(['number' => '-1'], $input->getArguments(), '->parse() parses arguments with leading dashes as arguments after having encountered a double-dash sequence');
400+
$this->assertEquals(['foo' => 'bar'], $input->getOptions(), '->parse() parses arguments with leading dashes as options before having encountered a double-dash sequence');
401+
$this->assertEquals(['number' => '-1'], $input->getArguments(), '->parse() parses arguments with leading dashes as arguments after having encountered a double-dash sequence');
402402
}
403403

404404
public function testParseEmptyStringArgument()
405405
{
406406
$input = new ArgvInput(['cli.php', '-f', 'bar', '']);
407407
$input->bind(new InputDefinition([new InputArgument('empty'), new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL)]));
408408

409-
$this->assertSame(['empty' => ''], $input->getArguments(), '->parse() parses empty string arguments');
409+
$this->assertEquals(['empty' => ''], $input->getArguments(), '->parse() parses empty string arguments');
410410
}
411411

412412
public function testGetFirstArgument()
@@ -415,7 +415,7 @@ public function testGetFirstArgument()
415415
$this->assertNull($input->getFirstArgument(), '->getFirstArgument() returns null when there is no arguments');
416416

417417
$input = new ArgvInput(['cli.php', '-fbbar', 'foo']);
418-
$this->assertSame('foo', $input->getFirstArgument(), '->getFirstArgument() returns the first argument from the raw input');
418+
$this->assertEquals('foo', $input->getFirstArgument(), '->getFirstArgument() returns the first argument from the raw input');
419419

420420
$input = new ArgvInput(['cli.php', '--foo', 'fooval', 'bar']);
421421
$input->bind(new InputDefinition([new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('arg')]));
@@ -495,18 +495,18 @@ public function testNoWarningOnInvalidParameterOption()
495495
// No warning thrown
496496
$this->assertFalse($input->hasParameterOption(['-m', '']));
497497

498-
$this->assertSame('dev', $input->getParameterOption(['-e', '']));
498+
$this->assertEquals('dev', $input->getParameterOption(['-e', '']));
499499
// No warning thrown
500500
$this->assertFalse($input->getParameterOption(['-m', '']));
501501
}
502502

503503
public function testToString()
504504
{
505505
$input = new ArgvInput(['cli.php', '-f', 'foo']);
506-
$this->assertSame('-f foo', (string) $input);
506+
$this->assertEquals('-f foo', (string) $input);
507507

508508
$input = new ArgvInput(['cli.php', '-f', '--bar=foo', 'a b c d', "A\nB'C"]);
509-
$this->assertSame('-f --bar=foo '.escapeshellarg('a b c d').' '.escapeshellarg("A\nB'C"), (string) $input);
509+
$this->assertEquals('-f --bar=foo '.escapeshellarg('a b c d').' '.escapeshellarg("A\nB'C"), (string) $input);
510510
}
511511

512512
/**
@@ -515,7 +515,7 @@ public function testToString()
515515
public function testGetParameterOptionEqualSign($argv, $key, $default, $onlyParams, $expected)
516516
{
517517
$input = new ArgvInput($argv);
518-
$this->assertSame($expected, $input->getParameterOption($key, $default, $onlyParams), '->getParameterOption() returns the expected value');
518+
$this->assertEquals($expected, $input->getParameterOption($key, $default, $onlyParams), '->getParameterOption() returns the expected value');
519519
}
520520

521521
public static function provideGetParameterOptionValues()
@@ -539,33 +539,33 @@ public function testParseSingleDashAsArgument()
539539
{
540540
$input = new ArgvInput(['cli.php', '-']);
541541
$input->bind(new InputDefinition([new InputArgument('file')]));
542-
$this->assertSame(['file' => '-'], $input->getArguments(), '->parse() parses single dash as an argument');
542+
$this->assertEquals(['file' => '-'], $input->getArguments(), '->parse() parses single dash as an argument');
543543
}
544544

545545
public function testParseOptionWithValueOptionalGivenEmptyAndRequiredArgument()
546546
{
547547
$input = new ArgvInput(['cli.php', '--foo=', 'bar']);
548548
$input->bind(new InputDefinition([new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('name', InputArgument::REQUIRED)]));
549-
$this->assertSame(['foo' => null], $input->getOptions(), '->parse() parses optional options with empty value as null');
550-
$this->assertSame(['name' => 'bar'], $input->getArguments(), '->parse() parses required arguments');
549+
$this->assertEquals(['foo' => null], $input->getOptions(), '->parse() parses optional options with empty value as null');
550+
$this->assertEquals(['name' => 'bar'], $input->getArguments(), '->parse() parses required arguments');
551551

552552
$input = new ArgvInput(['cli.php', '--foo=0', 'bar']);
553553
$input->bind(new InputDefinition([new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('name', InputArgument::REQUIRED)]));
554-
$this->assertSame(['foo' => '0'], $input->getOptions(), '->parse() parses optional options with empty value as null');
555-
$this->assertSame(['name' => 'bar'], $input->getArguments(), '->parse() parses required arguments');
554+
$this->assertEquals(['foo' => '0'], $input->getOptions(), '->parse() parses optional options with empty value as null');
555+
$this->assertEquals(['name' => 'bar'], $input->getArguments(), '->parse() parses required arguments');
556556
}
557557

558558
public function testParseOptionWithValueOptionalGivenEmptyAndOptionalArgument()
559559
{
560560
$input = new ArgvInput(['cli.php', '--foo=', 'bar']);
561561
$input->bind(new InputDefinition([new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('name', InputArgument::OPTIONAL)]));
562-
$this->assertSame(['foo' => null], $input->getOptions(), '->parse() parses optional options with empty value as null');
563-
$this->assertSame(['name' => 'bar'], $input->getArguments(), '->parse() parses optional arguments');
562+
$this->assertEquals(['foo' => null], $input->getOptions(), '->parse() parses optional options with empty value as null');
563+
$this->assertEquals(['name' => 'bar'], $input->getArguments(), '->parse() parses optional arguments');
564564

565565
$input = new ArgvInput(['cli.php', '--foo=0', 'bar']);
566566
$input->bind(new InputDefinition([new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('name', InputArgument::OPTIONAL)]));
567-
$this->assertSame(['foo' => '0'], $input->getOptions(), '->parse() parses optional options with empty value as null');
568-
$this->assertSame(['name' => 'bar'], $input->getArguments(), '->parse() parses optional arguments');
567+
$this->assertEquals(['foo' => '0'], $input->getOptions(), '->parse() parses optional options with empty value as null');
568+
$this->assertEquals(['name' => 'bar'], $input->getArguments(), '->parse() parses optional arguments');
569569
}
570570

571571
public function testGetRawTokensFalse()
@@ -603,8 +603,7 @@ public function testUnparse(
603603
ArgvInput $input,
604604
?array $parsedOptions,
605605
array $expected,
606-
): void
607-
{
606+
) {
608607
if (null !== $inputDefinition) {
609608
$input->bind($inputDefinition);
610609
}
@@ -712,7 +711,7 @@ public static function unparseProvider(): iterable
712711
$createSingleOptionScenario = static fn (
713712
InputOption $option,
714713
array $input,
715-
array $expected
714+
array $expected,
716715
) => [
717716
new InputDefinition([$option]),
718717
new ArgvInput(['appName', ...$input]),
@@ -812,7 +811,7 @@ public static function unparseProvider(): iterable
812811

813812
$createEscapeOptionTokenScenario = static fn (
814813
string $optionValue,
815-
?string $expected
814+
?string $expected,
816815
) => [
817816
new InputDefinition([
818817
new InputOption(

‎src/Symfony/Component/Console/Tests/Input/ArrayInputTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Console/Tests/Input/ArrayInputTest.php
+3-5Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
namespace Symfony\Component\Console\Tests\Input;
1313

1414
use PHPUnit\Framework\TestCase;
15-
use Symfony\Component\Console\Exception\InvalidArgumentException;
1615
use Symfony\Component\Console\Input\ArrayInput;
1716
use Symfony\Component\Console\Input\InputArgument;
1817
use Symfony\Component\Console\Input\InputDefinition;
@@ -180,8 +179,7 @@ public function testUnparse(
180179
ArrayInput $input,
181180
?array $parsedOptions,
182181
array $expected,
183-
): void
184-
{
182+
) {
185183
if (null !== $inputDefinition) {
186184
$input->bind($inputDefinition);
187185
}
@@ -302,7 +300,7 @@ public static function unparseProvider(): iterable
302300
$createSingleOptionScenario = static fn (
303301
InputOption $option,
304302
array $input,
305-
array $expected
303+
array $expected,
306304
) => [
307305
new InputDefinition([$option]),
308306
new ArrayInput($input),
@@ -402,7 +400,7 @@ public static function unparseProvider(): iterable
402400

403401
$createEscapeOptionTokenScenario = static fn (
404402
string $optionValue,
405-
?string $expected
403+
?string $expected,
406404
) => [
407405
new InputDefinition([
408406
new InputOption(

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.