|
7 | 7 | namespace OpenApi\Tests; |
8 | 8 |
|
9 | 9 | use OpenApi\Tests\Concerns\UsesExamples; |
| 10 | +use PHPUnit\Framework\Attributes\DataProvider; |
10 | 11 |
|
11 | 12 | final class CommandlineTest extends OpenApiTestCase |
12 | 13 | { |
@@ -78,12 +79,19 @@ public function testMissingArg(): void |
78 | 79 | $this->assertStringContainsString('The "--exclude" option requires a value.', $output); |
79 | 80 | } |
80 | 81 |
|
81 | | - public function testVersionDefault(): void |
| 82 | + public static function versionCases(): iterable |
| 83 | + { |
| 84 | + yield 'default' => ['', '3.1.0']; |
| 85 | + yield 'override' => ['--version=3.0.3', '3.0.3']; |
| 86 | + } |
| 87 | + |
| 88 | + #[DataProvider('versionCases')] |
| 89 | + public function testVersionDefault(string $args, string $expectedVersion): void |
82 | 90 | { |
83 | 91 | $fixture = $this->fixture('Explicit310.php'); |
84 | | - $cmd = __DIR__ . '/../bin/openapi --bootstrap ' . $fixture . ' ' . escapeshellarg($fixture); |
| 92 | + $cmd = __DIR__ . '/../bin/openapi --bootstrap ' . $fixture . " $args " . escapeshellarg($fixture); |
85 | 93 | exec($this->getCommandToExecute($cmd, '2>'), $output, $retval); |
86 | 94 | $this->assertSame(0, $retval, $cmd . PHP_EOL . implode(PHP_EOL, $output)); |
87 | | - $this->assertStringContainsString('openapi: 3.1.0', implode(PHP_EOL, $output)); |
| 95 | + $this->assertStringContainsString("openapi: $expectedVersion", implode(PHP_EOL, $output)); |
88 | 96 | } |
89 | 97 | } |
0 commit comments