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(<<