Skip to content

Commit

Permalink
Config: add tests for the --generator= argument (#765)
Browse files Browse the repository at this point in the history
  • Loading branch information
rodrigoprimo authored Dec 12, 2024
1 parent d7ecf7e commit 3d14d00
Showing 1 changed file with 79 additions and 0 deletions.
79 changes: 79 additions & 0 deletions tests/Core/Config/GeneratorArgTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
<?php
/**
* Tests for the \PHP_CodeSniffer\Config --generator argument.
*
* @copyright 2024 PHPCSStandards and contributors
* @license https://github.com/PHPCSStandards/PHP_CodeSniffer/blob/master/licence.txt BSD Licence
*/

namespace PHP_CodeSniffer\Tests\Core\Config;

use PHP_CodeSniffer\Tests\ConfigDouble;
use PHPUnit\Framework\TestCase;

/**
* Tests for the \PHP_CodeSniffer\Config --generator argument.
*
* @covers \PHP_CodeSniffer\Config::processLongArgument
*/
final class GeneratorArgTest extends TestCase
{


/**
* Ensure that the generator property is set when the parameter is passed a valid value.
*
* @param string $generatorName Generator name.
*
* @dataProvider dataGeneratorNames
*
* @return void
*/
public function testGenerators($generatorName)
{
$config = new ConfigDouble(["--generator=$generatorName"]);

$this->assertSame($generatorName, $config->generator);

}//end testGenerators()


/**
* Data provider for testGenerators().
*
* @see self::testGenerators()
*
* @return array<int, array<string>>
*/
public static function dataGeneratorNames()
{
return [
['Text'],
['HTML'],
['Markdown'],
];

}//end dataGeneratorNames()


/**
* Ensure that only the first argument is processed and others are ignored.
*
* @return void
*/
public function testOnlySetOnce()
{
$config = new ConfigDouble(
[
'--generator=Text',
'--generator=HTML',
'--generator=InvalidGenerator',
]
);

$this->assertSame('Text', $config->generator);

}//end testOnlySetOnce()


}//end class

0 comments on commit 3d14d00

Please sign in to comment.