diff --git a/composer.json b/composer.json index f12ef82..bc85aa7 100644 --- a/composer.json +++ b/composer.json @@ -29,7 +29,7 @@ "ext-json": "*" }, "require-dev": { - "phpunit/phpunit": "^9.6.8", + "phpunit/phpunit": "^10.5.11", "mikey179/vfsstream": "^1.6.11", "vimeo/psalm": "^5.22.2", "phpspec/prophecy-phpunit": "^2.0.2" diff --git a/phpunit.xml.dist b/phpunit.xml.dist index f209a27..e722232 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -1,12 +1,8 @@ - + xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd" + backupGlobals="true" + bootstrap="vendor/autoload.php"> tests/unit @@ -15,10 +11,9 @@ tests/functional - - + src - + diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/ConfigNoCache/input.typoscript b/tests/functional/Linter/Fixtures/ConfigNoCache/input.typoscript similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/ConfigNoCache/input.typoscript rename to tests/functional/Linter/Fixtures/ConfigNoCache/input.typoscript diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/ConfigNoCache/output.txt b/tests/functional/Linter/Fixtures/ConfigNoCache/output.txt similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/ConfigNoCache/output.txt rename to tests/functional/Linter/Fixtures/ConfigNoCache/output.txt diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/ConstantAnnotations/input.typoscript b/tests/functional/Linter/Fixtures/ConstantAnnotations/input.typoscript similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/ConstantAnnotations/input.typoscript rename to tests/functional/Linter/Fixtures/ConstantAnnotations/input.typoscript diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/ConstantAnnotations/output.txt b/tests/functional/Linter/Fixtures/ConstantAnnotations/output.txt similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/ConstantAnnotations/output.txt rename to tests/functional/Linter/Fixtures/ConstantAnnotations/output.txt diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/DeadCode/input.typoscript b/tests/functional/Linter/Fixtures/DeadCode/input.typoscript similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/DeadCode/input.typoscript rename to tests/functional/Linter/Fixtures/DeadCode/input.typoscript diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/DeadCode/output.txt b/tests/functional/Linter/Fixtures/DeadCode/output.txt similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/DeadCode/output.txt rename to tests/functional/Linter/Fixtures/DeadCode/output.txt diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/DeadCodeFalsePositives/input.typoscript b/tests/functional/Linter/Fixtures/DeadCodeFalsePositives/input.typoscript similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/DeadCodeFalsePositives/input.typoscript rename to tests/functional/Linter/Fixtures/DeadCodeFalsePositives/input.typoscript diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/DeadCodeFalsePositives/output.txt b/tests/functional/Linter/Fixtures/DeadCodeFalsePositives/output.txt similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/DeadCodeFalsePositives/output.txt rename to tests/functional/Linter/Fixtures/DeadCodeFalsePositives/output.txt diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/DuplicateAssignment/input.typoscript b/tests/functional/Linter/Fixtures/DuplicateAssignment/input.typoscript similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/DuplicateAssignment/input.typoscript rename to tests/functional/Linter/Fixtures/DuplicateAssignment/input.typoscript diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/DuplicateAssignment/output.txt b/tests/functional/Linter/Fixtures/DuplicateAssignment/output.txt similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/DuplicateAssignment/output.txt rename to tests/functional/Linter/Fixtures/DuplicateAssignment/output.txt diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/EmptySection/input.typoscript b/tests/functional/Linter/Fixtures/EmptySection/input.typoscript similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/EmptySection/input.typoscript rename to tests/functional/Linter/Fixtures/EmptySection/input.typoscript diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/EmptySection/output.txt b/tests/functional/Linter/Fixtures/EmptySection/output.txt similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/EmptySection/output.txt rename to tests/functional/Linter/Fixtures/EmptySection/output.txt diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/Indentation/input.typoscript b/tests/functional/Linter/Fixtures/Indentation/input.typoscript similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/Indentation/input.typoscript rename to tests/functional/Linter/Fixtures/Indentation/input.typoscript diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/Indentation/output.txt b/tests/functional/Linter/Fixtures/Indentation/output.txt similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/Indentation/output.txt rename to tests/functional/Linter/Fixtures/Indentation/output.txt diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/IndentationCondition/input.typoscript b/tests/functional/Linter/Fixtures/IndentationCondition/input.typoscript similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/IndentationCondition/input.typoscript rename to tests/functional/Linter/Fixtures/IndentationCondition/input.typoscript diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/IndentationCondition/output.txt b/tests/functional/Linter/Fixtures/IndentationCondition/output.txt similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/IndentationCondition/output.txt rename to tests/functional/Linter/Fixtures/IndentationCondition/output.txt diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/IndentationIndentedCondition/input.typoscript b/tests/functional/Linter/Fixtures/IndentationIndentedCondition/input.typoscript similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/IndentationIndentedCondition/input.typoscript rename to tests/functional/Linter/Fixtures/IndentationIndentedCondition/input.typoscript diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/IndentationIndentedCondition/output.txt b/tests/functional/Linter/Fixtures/IndentationIndentedCondition/output.txt similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/IndentationIndentedCondition/output.txt rename to tests/functional/Linter/Fixtures/IndentationIndentedCondition/output.txt diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/IndentationIndentedCondition/tslint.yml b/tests/functional/Linter/Fixtures/IndentationIndentedCondition/tslint.yml similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/IndentationIndentedCondition/tslint.yml rename to tests/functional/Linter/Fixtures/IndentationIndentedCondition/tslint.yml diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/NestingConsistency/input.typoscript b/tests/functional/Linter/Fixtures/NestingConsistency/input.typoscript similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/NestingConsistency/input.typoscript rename to tests/functional/Linter/Fixtures/NestingConsistency/input.typoscript diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/NestingConsistency/output.txt b/tests/functional/Linter/Fixtures/NestingConsistency/output.txt similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/NestingConsistency/output.txt rename to tests/functional/Linter/Fixtures/NestingConsistency/output.txt diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/NestingConsistencyIntKeys/input.typoscript b/tests/functional/Linter/Fixtures/NestingConsistencyIntKeys/input.typoscript similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/NestingConsistencyIntKeys/input.typoscript rename to tests/functional/Linter/Fixtures/NestingConsistencyIntKeys/input.typoscript diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/NestingConsistencyIntKeys/output.txt b/tests/functional/Linter/Fixtures/NestingConsistencyIntKeys/output.txt similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/NestingConsistencyIntKeys/output.txt rename to tests/functional/Linter/Fixtures/NestingConsistencyIntKeys/output.txt diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/NestingConsistencyNonAssignments/input.typoscript b/tests/functional/Linter/Fixtures/NestingConsistencyNonAssignments/input.typoscript similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/NestingConsistencyNonAssignments/input.typoscript rename to tests/functional/Linter/Fixtures/NestingConsistencyNonAssignments/input.typoscript diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/NestingConsistencyNonAssignments/output.txt b/tests/functional/Linter/Fixtures/NestingConsistencyNonAssignments/output.txt similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/NestingConsistencyNonAssignments/output.txt rename to tests/functional/Linter/Fixtures/NestingConsistencyNonAssignments/output.txt diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/NestingConsistencyWithConfigurableThreshold/input.typoscript b/tests/functional/Linter/Fixtures/NestingConsistencyWithConfigurableThreshold/input.typoscript similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/NestingConsistencyWithConfigurableThreshold/input.typoscript rename to tests/functional/Linter/Fixtures/NestingConsistencyWithConfigurableThreshold/input.typoscript diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/NestingConsistencyWithConfigurableThreshold/output.txt b/tests/functional/Linter/Fixtures/NestingConsistencyWithConfigurableThreshold/output.txt similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/NestingConsistencyWithConfigurableThreshold/output.txt rename to tests/functional/Linter/Fixtures/NestingConsistencyWithConfigurableThreshold/output.txt diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/NestingConsistencyWithConfigurableThreshold/tslint.yml b/tests/functional/Linter/Fixtures/NestingConsistencyWithConfigurableThreshold/tslint.yml similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/NestingConsistencyWithConfigurableThreshold/tslint.yml rename to tests/functional/Linter/Fixtures/NestingConsistencyWithConfigurableThreshold/tslint.yml diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/OperatorWhitespace/input.typoscript b/tests/functional/Linter/Fixtures/OperatorWhitespace/input.typoscript similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/OperatorWhitespace/input.typoscript rename to tests/functional/Linter/Fixtures/OperatorWhitespace/input.typoscript diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/OperatorWhitespace/output.txt b/tests/functional/Linter/Fixtures/OperatorWhitespace/output.txt similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/OperatorWhitespace/output.txt rename to tests/functional/Linter/Fixtures/OperatorWhitespace/output.txt diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/ParseError/input.typoscript b/tests/functional/Linter/Fixtures/ParseError/input.typoscript similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/ParseError/input.typoscript rename to tests/functional/Linter/Fixtures/ParseError/input.typoscript diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/ParseError/output.txt b/tests/functional/Linter/Fixtures/ParseError/output.txt similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/ParseError/output.txt rename to tests/functional/Linter/Fixtures/ParseError/output.txt diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/RepeatingRValue/input.typoscript b/tests/functional/Linter/Fixtures/RepeatingRValue/input.typoscript similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/RepeatingRValue/input.typoscript rename to tests/functional/Linter/Fixtures/RepeatingRValue/input.typoscript diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/RepeatingRValue/output.txt b/tests/functional/Linter/Fixtures/RepeatingRValue/output.txt similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/RepeatingRValue/output.txt rename to tests/functional/Linter/Fixtures/RepeatingRValue/output.txt diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/RepeatingRValueDataProcessor/input.typoscript b/tests/functional/Linter/Fixtures/RepeatingRValueDataProcessor/input.typoscript similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/RepeatingRValueDataProcessor/input.typoscript rename to tests/functional/Linter/Fixtures/RepeatingRValueDataProcessor/input.typoscript diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/RepeatingRValueDataProcessor/output.txt b/tests/functional/Linter/Fixtures/RepeatingRValueDataProcessor/output.txt similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/RepeatingRValueDataProcessor/output.txt rename to tests/functional/Linter/Fixtures/RepeatingRValueDataProcessor/output.txt diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/TokenizationError/input.typoscript b/tests/functional/Linter/Fixtures/TokenizationError/input.typoscript similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/TokenizationError/input.typoscript rename to tests/functional/Linter/Fixtures/TokenizationError/input.typoscript diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/TokenizationError/output.txt b/tests/functional/Linter/Fixtures/TokenizationError/output.txt similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/TokenizationError/output.txt rename to tests/functional/Linter/Fixtures/TokenizationError/output.txt diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/UnaryOperatorWhitespace/input.typoscript b/tests/functional/Linter/Fixtures/UnaryOperatorWhitespace/input.typoscript similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/UnaryOperatorWhitespace/input.typoscript rename to tests/functional/Linter/Fixtures/UnaryOperatorWhitespace/input.typoscript diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/UnaryOperatorWhitespace/output.txt b/tests/functional/Linter/Fixtures/UnaryOperatorWhitespace/output.txt similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/UnaryOperatorWhitespace/output.txt rename to tests/functional/Linter/Fixtures/UnaryOperatorWhitespace/output.txt diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/Whitespaces/input.typoscript b/tests/functional/Linter/Fixtures/Whitespaces/input.typoscript similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/Whitespaces/input.typoscript rename to tests/functional/Linter/Fixtures/Whitespaces/input.typoscript diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/Whitespaces/output.txt b/tests/functional/Linter/Fixtures/Whitespaces/output.txt similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/Whitespaces/output.txt rename to tests/functional/Linter/Fixtures/Whitespaces/output.txt diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/typoscript-lint.dist.yml b/tests/functional/Linter/Fixtures/typoscript-lint.dist.yml similarity index 100% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/Fixtures/typoscript-lint.dist.yml rename to tests/functional/Linter/Fixtures/typoscript-lint.dist.yml diff --git a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/LinterTest.php b/tests/functional/Linter/LinterTest.php similarity index 95% rename from tests/functional/Helmich/TypoScriptLint/Tests/Linter/LinterTest.php rename to tests/functional/Linter/LinterTest.php index 44bee7b..b4a42e6 100644 --- a/tests/functional/Helmich/TypoScriptLint/Tests/Linter/LinterTest.php +++ b/tests/functional/Linter/LinterTest.php @@ -10,6 +10,7 @@ use Helmich\TypoScriptLint\Logging\NullLogger; use Helmich\TypoScriptParser\Parser\Parser; use Helmich\TypoScriptParser\Tokenizer\Tokenizer; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Symfony\Component\Config\Definition\Processor; use Symfony\Component\Yaml\Yaml; @@ -32,12 +33,7 @@ public function setUp(): void ); } - /** - * @dataProvider getFunctionalTestFixtures - * - * @param string $typoscriptFile - * @param array $expectedWarnings - */ + #[DataProvider('getFunctionalTestFixtures')] public function testLinterCreatesExpectedOutput(string $typoscriptFile, array $expectedWarnings): void { $localConfigFilename = dirname($typoscriptFile) . '/tslint.yml'; @@ -95,7 +91,7 @@ public function testLinterCreatesExpectedOutput(string $typoscriptFile, array $e /** * @return array */ - public function getFunctionalTestFixtures(): array + public static function getFunctionalTestFixtures(): array { $files = glob(__DIR__ . '/Fixtures/*/*.typoscript'); $testCases = []; diff --git a/tests/unit/Helmich/TypoScriptLint/Command/LintCommandTest.php b/tests/unit/Command/LintCommandTest.php similarity index 94% rename from tests/unit/Helmich/TypoScriptLint/Command/LintCommandTest.php rename to tests/unit/Command/LintCommandTest.php index 6dbf7b3..233e5b5 100644 --- a/tests/unit/Helmich/TypoScriptLint/Command/LintCommandTest.php +++ b/tests/unit/Command/LintCommandTest.php @@ -11,10 +11,12 @@ use Helmich\TypoScriptLint\Logging\LinterLoggerBuilder; use Helmich\TypoScriptLint\Logging\NullLogger; use Helmich\TypoScriptLint\Util\Finder; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Prophecy\Argument; use Prophecy\PhpUnit\ProphecyTrait; +use Prophecy\Prophecy\ObjectProphecy; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\EventDispatcher\EventDispatcher; @@ -22,26 +24,19 @@ use function PHPUnit\Framework\any; use function PHPUnit\Framework\once; -/** - * Class LintCommandTest - * - * @package Helmich\TypoScriptLint\Command - * @covers \Helmich\TypoScriptLint\Command\LintCommand - */ +#[CoversClass(LintCommand::class)] class LintCommandTest extends TestCase { use ProphecyTrait; private LintCommand $command; - /** @var MockObject */ - private + private MockObject $linter, $linterConfigurationLocator, $finder; - /** @var ObjectProphecy */ - private $loggerBuilder, $eventDispatcher; + private ObjectProphecy $loggerBuilder, $eventDispatcher; public function setUp(): void { diff --git a/tests/unit/Helmich/TypoScriptLint/Linter/Configuration/ConfigurationLocatorTest.php b/tests/unit/Linter/Configuration/ConfigurationLocatorTest.php similarity index 87% rename from tests/unit/Helmich/TypoScriptLint/Linter/Configuration/ConfigurationLocatorTest.php rename to tests/unit/Linter/Configuration/ConfigurationLocatorTest.php index ab9c644..626607a 100644 --- a/tests/unit/Helmich/TypoScriptLint/Linter/Configuration/ConfigurationLocatorTest.php +++ b/tests/unit/Linter/Configuration/ConfigurationLocatorTest.php @@ -4,6 +4,7 @@ use Helmich\TypoScriptLint\Linter\Configuration\ConfigurationLocator; use Helmich\TypoScriptLint\Linter\LinterConfiguration; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Symfony\Component\Config\Definition\Processor; @@ -11,17 +12,11 @@ use function PHPUnit\Framework\any; -/** - * Class ConfigurationLocatorTest - * - * @package \Helmich\TypoScriptLint\Linter\Configuration - * @covers \Helmich\TypoScriptLint\Linter\Configuration\ConfigurationLocator - */ +#[CoversClass(ConfigurationLocator::class)] class ConfigurationLocatorTest extends TestCase { - /** @var MockObject */ - private $loader, $processor; + private MockObject $loader, $processor; private ConfigurationLocator $locator; @@ -30,7 +25,6 @@ public function setUp(): void $this->loader = $this->getMockBuilder(LoaderInterface::class)->getMock(); $this->processor = $this->getMockBuilder(Processor::class)->getMock(); - /** @noinspection PhpParamsInspection */ $this->locator = new ConfigurationLocator( $this->loader, $this->processor @@ -57,7 +51,6 @@ public function testConfigurationIsLoadedAndProcessed(): void ->with($this->isInstanceOf(LinterConfiguration::class), [$distConfig, $localConfig]) ->willReturn($mergedConfig); - /** @noinspection PhpParamsInspection */ $loadedConfiguration = $this->locator->loadConfiguration(['test.yml'], $configuration); $this->assertSame($loadedConfiguration, $configuration); } @@ -81,7 +74,6 @@ public function testConfigurationIsLoadedAndProcessedWithDefaultConfigFile(): vo ->with($this->isInstanceOf(LinterConfiguration::class), [$distConfig]) ->willReturn($mergedConfig); - /** @noinspection PhpParamsInspection */ $loadedConfiguration = $this->locator->loadConfiguration([], $configuration); $this->assertSame($loadedConfiguration, $configuration); } diff --git a/tests/unit/Helmich/TypoScriptLint/Linter/Configuration/YamlConfigurationLoaderTest.php b/tests/unit/Linter/Configuration/YamlConfigurationLoaderTest.php similarity index 94% rename from tests/unit/Helmich/TypoScriptLint/Linter/Configuration/YamlConfigurationLoaderTest.php rename to tests/unit/Linter/Configuration/YamlConfigurationLoaderTest.php index c7e2e1b..38efc55 100644 --- a/tests/unit/Helmich/TypoScriptLint/Linter/Configuration/YamlConfigurationLoaderTest.php +++ b/tests/unit/Linter/Configuration/YamlConfigurationLoaderTest.php @@ -4,6 +4,7 @@ use Helmich\TypoScriptLint\Linter\Configuration\YamlConfigurationLoader; use Helmich\TypoScriptLint\Util\Filesystem; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Symfony\Component\Config\Exception\FileLocatorFileNotFoundException; @@ -11,14 +12,11 @@ use Symfony\Component\Finder\SplFileInfo; use Symfony\Component\Yaml\Parser; -/** - * @covers \Helmich\TypoScriptLint\Linter\Configuration\YamlConfigurationLoader - */ +#[CoversClass(YamlConfigurationLoader::class)] class YamlConfigurationLoaderTest extends TestCase { - /** @var MockObject */ - private + private MockObject $fileLocator, $yamlParser, $filesystem; @@ -31,7 +29,6 @@ public function setUp(): void $this->yamlParser = $this->getMockBuilder(Parser::class)->disableOriginalConstructor()->getMock(); $this->filesystem = $this->getMockBuilder(Filesystem::class)->getMock(); - /** @noinspection PhpParamsInspection */ $this->loader = new YamlConfigurationLoader($this->fileLocator, $this->yamlParser, $this->filesystem); } diff --git a/tests/unit/Helmich/TypoScriptLint/Linter/LinterConfigurationTest.php b/tests/unit/Linter/LinterConfigurationTest.php similarity index 96% rename from tests/unit/Helmich/TypoScriptLint/Linter/LinterConfigurationTest.php rename to tests/unit/Linter/LinterConfigurationTest.php index 68d6052..b28eb4b 100644 --- a/tests/unit/Helmich/TypoScriptLint/Linter/LinterConfigurationTest.php +++ b/tests/unit/Linter/LinterConfigurationTest.php @@ -4,16 +4,14 @@ use Helmich\TypoScriptLint\Linter\LinterConfiguration; use Helmich\TypoScriptLint\Linter\Sniff\DeadCodeSniff; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Symfony\Component\Config\Definition\Processor; use function PHPUnit\Framework\assertThat; use function PHPUnit\Framework\equalTo; -/** - * @package Helmich\TypoScriptLint\Linter - * @covers \Helmich\TypoScriptLint\Linter\LinterConfiguration - */ +#[CoversClass(LinterConfiguration::class)] class LinterConfigurationTest extends TestCase { public function testPathsAreCorrectlyMapped(): void diff --git a/tests/unit/Helmich/TypoScriptLint/Linter/Logging/LinterLoggerBuilderTest.php b/tests/unit/Linter/Logging/LinterLoggerBuilderTest.php similarity index 92% rename from tests/unit/Helmich/TypoScriptLint/Linter/Logging/LinterLoggerBuilderTest.php rename to tests/unit/Linter/Logging/LinterLoggerBuilderTest.php index c1ec59b..9880a10 100644 --- a/tests/unit/Helmich/TypoScriptLint/Linter/Logging/LinterLoggerBuilderTest.php +++ b/tests/unit/Linter/Logging/LinterLoggerBuilderTest.php @@ -1,20 +1,19 @@ getMockBuilder(Issue::class)->disableOriginalConstructor()->getMock(); + $warning = new Issue(1, 1, "some warning", Issue::SEVERITY_WARNING, self::class); $this->file->addIssue($warning); assertCount(1, $this->file->getIssues()); @@ -48,12 +44,8 @@ public function testWarningsCanBeAdded(): void */ public function testWarningsAreSortedByLineNumber(): void { - $warningBuilder = $this->getMockBuilder(Issue::class)->disableOriginalConstructor(); - - $warning1 = $warningBuilder->getMock(); - $warning1->expects(any())->method('getLine')->willReturn(10); - $warning2 = $warningBuilder->getMock(); - $warning2->expects(any())->method('getLine')->willReturn(1); + $warning1 = new Issue(10, 1, "some warning", Issue::SEVERITY_WARNING, self::class); + $warning2 = new Issue(1, 1, "some warning", Issue::SEVERITY_WARNING, self::class); $this->file->addIssue($warning1); $this->file->addIssue($warning2); diff --git a/tests/unit/Helmich/TypoScriptLint/Linter/Report/IssueTest.php b/tests/unit/Linter/Report/IssueTest.php similarity index 94% rename from tests/unit/Helmich/TypoScriptLint/Linter/Report/IssueTest.php rename to tests/unit/Linter/Report/IssueTest.php index 3da3fbb..01340e4 100644 --- a/tests/unit/Helmich/TypoScriptLint/Linter/Report/IssueTest.php +++ b/tests/unit/Linter/Report/IssueTest.php @@ -5,14 +5,12 @@ use Helmich\TypoScriptLint\Linter\Report\Issue; use Helmich\TypoScriptParser\Parser\ParseError; use Helmich\TypoScriptParser\Tokenizer\TokenizerException; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use function PHPUnit\Framework\assertEquals; -/** - * @covers \Helmich\TypoScriptLint\Linter\Report\Issue - * @uses \Helmich\TypoScriptParser\Parser\ParseError - */ +#[CoversClass(Issue::class)] class IssueTest extends TestCase { diff --git a/tests/unit/Helmich/TypoScriptLint/Linter/Report/ReportTest.php b/tests/unit/Linter/Report/ReportTest.php similarity index 95% rename from tests/unit/Helmich/TypoScriptLint/Linter/Report/ReportTest.php rename to tests/unit/Linter/Report/ReportTest.php index 377473e..7095100 100644 --- a/tests/unit/Helmich/TypoScriptLint/Linter/Report/ReportTest.php +++ b/tests/unit/Linter/Report/ReportTest.php @@ -5,6 +5,7 @@ use Helmich\TypoScriptLint\Linter\Report\File; use Helmich\TypoScriptLint\Linter\Report\Issue; use Helmich\TypoScriptLint\Linter\Report\Report; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use function PHPUnit\Framework\assertThat; @@ -12,9 +13,7 @@ use function PHPUnit\Framework\assertSame; use function PHPUnit\Framework\equalTo; -/** - * @covers \Helmich\TypoScriptLint\Linter\Report\Report - */ +#[CoversClass(Report::class)] class ReportTest extends TestCase { diff --git a/tests/unit/Helmich/TypoScriptLint/Linter/ReportPrinter/CheckstyleReportPrinterTest.php b/tests/unit/Linter/ReportPrinter/CheckstyleReportPrinterTest.php similarity index 89% rename from tests/unit/Helmich/TypoScriptLint/Linter/ReportPrinter/CheckstyleReportPrinterTest.php rename to tests/unit/Linter/ReportPrinter/CheckstyleReportPrinterTest.php index ae0fd82..e1bbc1c 100644 --- a/tests/unit/Helmich/TypoScriptLint/Linter/ReportPrinter/CheckstyleReportPrinterTest.php +++ b/tests/unit/Linter/ReportPrinter/CheckstyleReportPrinterTest.php @@ -6,18 +6,14 @@ use Helmich\TypoScriptLint\Linter\Report\Issue; use Helmich\TypoScriptLint\Linter\Report\Report; use Helmich\TypoScriptLint\Linter\ReportPrinter\CheckstyleReportPrinter; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Symfony\Component\Console\Output\OutputInterface; use function PHPUnit\Framework\once; -/** - * @covers \Helmich\TypoScriptLint\Linter\ReportPrinter\CheckstyleReportPrinter - * @uses \Helmich\TypoScriptLint\Linter\Report\File - * @uses \Helmich\TypoScriptLint\Linter\Report\Report - * @uses \Helmich\TypoScriptLint\Linter\Report\Issue - */ +#[CoversClass(CheckstyleReportPrinter::class)] class CheckstyleReportPrinterTest extends TestCase { diff --git a/tests/unit/Helmich/TypoScriptLint/Linter/ReportPrinter/ConsoleReportPrinterTest.php b/tests/unit/Linter/ReportPrinter/ConsoleReportPrinterTest.php similarity index 86% rename from tests/unit/Helmich/TypoScriptLint/Linter/ReportPrinter/ConsoleReportPrinterTest.php rename to tests/unit/Linter/ReportPrinter/ConsoleReportPrinterTest.php index e687dba..6416431 100644 --- a/tests/unit/Helmich/TypoScriptLint/Linter/ReportPrinter/ConsoleReportPrinterTest.php +++ b/tests/unit/Linter/ReportPrinter/ConsoleReportPrinterTest.php @@ -6,17 +6,13 @@ use Helmich\TypoScriptLint\Linter\Report\Report; use Helmich\TypoScriptLint\Linter\Report\Issue; use Helmich\TypoScriptLint\Linter\ReportPrinter\ConsoleReportPrinter; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Symfony\Component\Console\Output\BufferedOutput; use function PHPUnit\Framework\assertEquals; -/** - * @covers \Helmich\TypoScriptLint\Linter\ReportPrinter\ConsoleReportPrinter - * @uses \Helmich\TypoScriptLint\Linter\Report\File - * @uses \Helmich\TypoScriptLint\Linter\Report\Report - * @uses \Helmich\TypoScriptLint\Linter\Report\Issue - */ +#[CoversClass(ConsoleReportPrinter::class)] class ConsoleReportPrinterTest extends TestCase { diff --git a/tests/unit/Helmich/TypoScriptLint/Linter/ReportPrinter/GccReportPrinterTest.php b/tests/unit/Linter/ReportPrinter/GccReportPrinterTest.php similarity index 86% rename from tests/unit/Helmich/TypoScriptLint/Linter/ReportPrinter/GccReportPrinterTest.php rename to tests/unit/Linter/ReportPrinter/GccReportPrinterTest.php index ad9754b..a37173b 100644 --- a/tests/unit/Helmich/TypoScriptLint/Linter/ReportPrinter/GccReportPrinterTest.php +++ b/tests/unit/Linter/ReportPrinter/GccReportPrinterTest.php @@ -6,17 +6,13 @@ use Helmich\TypoScriptLint\Linter\Report\Report; use Helmich\TypoScriptLint\Linter\Report\Issue; use Helmich\TypoScriptLint\Linter\ReportPrinter\GccReportPrinter; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Symfony\Component\Console\Output\BufferedOutput; use function PHPUnit\Framework\assertEquals; -/** - * @covers \Helmich\TypoScriptLint\Linter\ReportPrinter\GccReportPrinter - * @uses \Helmich\TypoScriptLint\Linter\Report\File - * @uses \Helmich\TypoScriptLint\Linter\Report\Report - * @uses \Helmich\TypoScriptLint\Linter\Report\Issue - */ +#[CoversClass(GccReportPrinter::class)] class GccReportPrinterTest extends TestCase { diff --git a/tests/unit/Helmich/TypoScriptLint/Linter/Sniff/DeadCodeSniffTest.php b/tests/unit/Linter/Sniff/DeadCodeSniffTest.php similarity index 87% rename from tests/unit/Helmich/TypoScriptLint/Linter/Sniff/DeadCodeSniffTest.php rename to tests/unit/Linter/Sniff/DeadCodeSniffTest.php index ea8effd..fd97df1 100644 --- a/tests/unit/Helmich/TypoScriptLint/Linter/Sniff/DeadCodeSniffTest.php +++ b/tests/unit/Linter/Sniff/DeadCodeSniffTest.php @@ -6,16 +6,13 @@ use Helmich\TypoScriptLint\Linter\Report\File; use Helmich\TypoScriptLint\Linter\Sniff\DeadCodeSniff; use Helmich\TypoScriptParser\Tokenizer\Token; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use function PHPUnit\Framework\assertCount; use function PHPUnit\Framework\assertEquals; -/** - * @covers \Helmich\TypoScriptLint\Linter\Sniff\DeadCodeSniff - * @uses \Helmich\TypoScriptLint\Linter\Report\File - * @uses \Helmich\TypoScriptLint\Linter\Report\Issue - */ +#[CoversClass(DeadCodeSniff::class)] class DeadCodeSniffTest extends TestCase { diff --git a/tests/unit/Helmich/TypoScriptLint/Linter/Sniff/IndentationSniffTest.php b/tests/unit/Linter/Sniff/IndentationSniffTest.php similarity index 95% rename from tests/unit/Helmich/TypoScriptLint/Linter/Sniff/IndentationSniffTest.php rename to tests/unit/Linter/Sniff/IndentationSniffTest.php index c07040f..f8edb1f 100644 --- a/tests/unit/Helmich/TypoScriptLint/Linter/Sniff/IndentationSniffTest.php +++ b/tests/unit/Linter/Sniff/IndentationSniffTest.php @@ -7,17 +7,14 @@ use Helmich\TypoScriptLint\Linter\Sniff\IndentationSniff; use Helmich\TypoScriptParser\Tokenizer\Token; use Helmich\TypoScriptParser\Tokenizer\Tokenizer; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use function PHPUnit\Framework\assertThat; use function PHPUnit\Framework\countOf; use function PHPUnit\Framework\equalTo; -/** - * @covers \Helmich\TypoScriptLint\Linter\Sniff\IndentationSniff - * @uses \Helmich\TypoScriptLint\Linter\Report\File - * @uses \Helmich\TypoScriptLint\Linter\Report\Issue - */ +#[CoversClass(IndentationSniff::class)] class IndentationSniffTest extends TestCase { diff --git a/tests/unit/Helmich/TypoScriptLint/Linter/Sniff/OperatorWhitespaceSniffTest.php b/tests/unit/Linter/Sniff/OperatorWhitespaceSniffTest.php similarity index 86% rename from tests/unit/Helmich/TypoScriptLint/Linter/Sniff/OperatorWhitespaceSniffTest.php rename to tests/unit/Linter/Sniff/OperatorWhitespaceSniffTest.php index b9b4e7d..fbd75b5 100644 --- a/tests/unit/Helmich/TypoScriptLint/Linter/Sniff/OperatorWhitespaceSniffTest.php +++ b/tests/unit/Linter/Sniff/OperatorWhitespaceSniffTest.php @@ -8,11 +8,14 @@ use Helmich\TypoScriptLint\Linter\Sniff\OperatorWhitespaceSniff; use Helmich\TypoScriptParser\Tokenizer\Token; use Helmich\TypoScriptParser\Tokenizer\TokenInterface; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use function PHPUnit\Framework\assertThat; use function PHPUnit\Framework\equalTo; +#[CoversClass(OperatorWhitespaceSniff::class)] class OperatorWhitespaceSniffTest extends TestCase { private OperatorWhitespaceSniff $sniff; @@ -22,7 +25,7 @@ public function setUp(): void $this->sniff = new OperatorWhitespaceSniff([]); } - public function getValidTokenSequences(): \Generator + public static function getValidTokenSequences(): \Generator { yield [ [ @@ -37,10 +40,7 @@ public function getValidTokenSequences(): \Generator ]; } - /** - * - * @dataProvider getValidTokenSequences - */ + #[DataProvider('getValidTokenSequences')] public function testTokenSequenceGeneratesExpectedWarnings(array $tokens, array $warnings): void { $file = new File("sample.ts"); diff --git a/tests/unit/Helmich/TypoScriptLint/Linter/Sniff/RepeatingRValueSniffTest.php b/tests/unit/Linter/Sniff/RepeatingRValueSniffTest.php similarity index 82% rename from tests/unit/Helmich/TypoScriptLint/Linter/Sniff/RepeatingRValueSniffTest.php rename to tests/unit/Linter/Sniff/RepeatingRValueSniffTest.php index b027b3d..fc64e8a 100644 --- a/tests/unit/Helmich/TypoScriptLint/Linter/Sniff/RepeatingRValueSniffTest.php +++ b/tests/unit/Linter/Sniff/RepeatingRValueSniffTest.php @@ -1,16 +1,19 @@ getIssues(), countOf(1)); } - /** - * @depends testRepeatedRValuesAboveThresholdAreReportedAsIssue - */ + #[Depends("testRepeatedRValuesAboveThresholdAreReportedAsIssue")] public function testRepeatingRValuesCanBeAllowedByWhitelist(): void { $tokens = (new Tokenizer())->tokenizeString(<<