Skip to content

Commit

Permalink
Refactoring tests to enable testing PHPStan implementation.
Browse files Browse the repository at this point in the history
  • Loading branch information
patrickkusebauch committed Mar 29, 2024
1 parent a66b325 commit d43f98a
Show file tree
Hide file tree
Showing 19 changed files with 323 additions and 212 deletions.
37 changes: 25 additions & 12 deletions baseline.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="5.20.0@3f284e96c9d9be6fe6b15c79416e1d1903dcfef4">
<files psalm-version="5.23.0@005e3184fb6de4350a873b9b8c4dc3cede9db762">
<file src="src/Contract/Result/OutputResult.php">
<InvalidReturnStatement>
<code><![CDATA[array_key_exists($type, $this->rules) ? array_values($this->rules[$type]) : []]]></code>
Expand All @@ -10,19 +10,32 @@
</file>
<file src="src/Core/Ast/AstMap/ClassLike/ClassLikeToken.php">
<ArgumentTypeCoercion>
<code>$pattern</code>
<code><![CDATA[$pattern]]></code>
</ArgumentTypeCoercion>
</file>
<file src="src/Core/Ast/AstMap/Function/FunctionToken.php">
<ArgumentTypeCoercion>
<code>$pattern</code>
<code><![CDATA[$pattern]]></code>
</ArgumentTypeCoercion>
</file>
<file src="src/Core/Ast/Parser/TypeScope.php">
<file src="src/Core/Ast/Parser/Extractors/ClassMethodExtractor.php">
<RedundantCondition>
<code><![CDATA[$resolvedPhpDoc->getThrowsTag()?->getType()->getReferencedClasses()]]></code>
</RedundantCondition>
<TypeDoesNotContainNull>
<code><![CDATA[[]]]></code>
</TypeDoesNotContainNull>
</file>
<file src="src/Core/Ast/Parser/NikicPhpParser/TypeScope.php">
<RiskyTruthyFalsyComparison>
<code>$alias</code>
<code><![CDATA[$alias]]></code>
</RiskyTruthyFalsyComparison>
</file>
<file src="src/Core/Ast/Parser/PhpStanParser/PhpStanTypeResolver.php">
<NamedArgumentNotAllowed>
<code><![CDATA[array_map(static fn ($type): array => self::resolveType($type, $scope), $type->types)]]></code>
</NamedArgumentNotAllowed>
</file>
<file src="src/Core/Layer/Collector/BoolCollector.php">
<RiskyTruthyFalsyComparison>
<code><![CDATA[!$configuration['must']]]></code>
Expand All @@ -31,7 +44,7 @@
</file>
<file src="src/Core/Layer/Collector/ComposerFilesParser.php">
<InvalidReturnStatement>
<code>$lockedPackages</code>
<code><![CDATA[$lockedPackages]]></code>
</InvalidReturnStatement>
<InvalidReturnType>
<code><![CDATA[array<string, array{
Expand All @@ -42,32 +55,32 @@
</file>
<file src="src/Core/Layer/Collector/DirectoryCollector.php">
<ArgumentTypeCoercion>
<code>$validatedPattern</code>
<code><![CDATA[$validatedPattern]]></code>
</ArgumentTypeCoercion>
</file>
<file src="src/Core/Layer/Collector/GlobCollector.php">
<ArgumentTypeCoercion>
<code>$validatedPattern</code>
<code><![CDATA[$validatedPattern]]></code>
</ArgumentTypeCoercion>
</file>
<file src="src/Core/Layer/Collector/MethodCollector.php">
<ArgumentTypeCoercion>
<code>$pattern</code>
<code><![CDATA[$pattern]]></code>
</ArgumentTypeCoercion>
</file>
<file src="src/Core/Layer/Collector/RegexCollector.php">
<ArgumentTypeCoercion>
<code>$pattern</code>
<code><![CDATA[$pattern]]></code>
</ArgumentTypeCoercion>
</file>
<file src="src/Core/Layer/Collector/TagValueRegexCollector.php">
<ArgumentTypeCoercion>
<code>$pattern</code>
<code><![CDATA[$pattern]]></code>
</ArgumentTypeCoercion>
</file>
<file src="src/Supportive/Console/Command/DebugLayerRunner.php">
<RiskyTruthyFalsyComparison>
<code>$layer</code>
<code><![CDATA[$layer]]></code>
</RiskyTruthyFalsyComparison>
</file>
</files>
2 changes: 2 additions & 0 deletions config/services.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
use Qossmic\Deptrac\Core\Ast\Parser\ParserInterface;
use Qossmic\Deptrac\Core\Ast\Parser\PhpStanParser\PhpStanContainerDecorator;
use Qossmic\Deptrac\Core\Ast\Parser\PhpStanParser\PhpStanParser;
use Qossmic\Deptrac\Core\Ast\Parser\PhpStanParser\PhpStanTypeResolver;
use Qossmic\Deptrac\Core\Dependency\DependencyResolver;
use Qossmic\Deptrac\Core\Dependency\Emitter\ClassDependencyEmitter;
use Qossmic\Deptrac\Core\Dependency\Emitter\ClassSuperglobalDependencyEmitter;
Expand Down Expand Up @@ -189,6 +190,7 @@
]);
$services->alias(ParserInterface::class, PhpStanParser::class);
$services->set(NikicTypeResolver::class);
$services->set(PhpStanTypeResolver::class);
$services
->set(AnonymousClassExtractor::class)
->tag('reference_extractors');
Expand Down
15 changes: 0 additions & 15 deletions phpstan-baseline.neon
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,6 @@ parameters:
count: 1
path: src/Contract/Result/OutputResult.php

-
message: "#^Parameter \\#1 \\$array \\(list\\<string\\>\\) of array_values is already a list, call has no effect\\.$#"
count: 1
path: src/Core/Analyser/LayerForTokenAnalyser.php

-
message: "#^Parameter \\#1 \\$array \\(list\\<string\\>\\) of array_values is already a list, call has no effect\\.$#"
count: 1
path: src/Core/Analyser/TokenInLayerAnalyser.php

-
message: "#^Parameter \\#1 \\$array \\(list\\<string\\>\\) of array_values is already a list, call has no effect\\.$#"
count: 1
path: src/Core/Analyser/UnassignedTokenAnalyser.php

-
message: "#^Method Qossmic\\\\Deptrac\\\\Core\\\\Ast\\\\AstMap\\\\ReferenceBuilder\\:\\:superglobal\\(\\) throws checked exception TypeError but it's missing from the PHPDoc @throws tag\\.$#"
count: 1
Expand Down
8 changes: 3 additions & 5 deletions src/Core/Ast/Parser/Extractors/PropertyExtractor.php
Original file line number Diff line number Diff line change
Expand Up @@ -89,11 +89,9 @@ public function processNodeWithPhpStanScope(Node $node, ReferenceBuilder $refere
$function = $scope->getFunction();
$resolvedPhpDoc = $fileTypeMapper->getResolvedPhpDoc(
$scope->getFile(),
$scope->isInClass() ? $scope->getClassReflection()
->getName() : null,
$scope->isInTrait() ? $scope->getTraitReflection()
->getName() : null,
null !== $function ? $function->getName() : null,
$scope->getClassReflection()?->getName(),
$scope->getTraitReflection()?->getName(),
$function?->getName(),
$docComment->getText(),
);

Expand Down
8 changes: 3 additions & 5 deletions src/Core/Ast/Parser/Extractors/VariableExtractor.php
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,9 @@ public function processNodeWithPhpStanScope(Node $node, ReferenceBuilder $refere
$function = $scope->getFunction();
$resolvedPhpDoc = $fileTypeMapper->getResolvedPhpDoc(
$scope->getFile(),
$scope->isInClass() ? $scope->getClassReflection()
->getName() : null,
$scope->isInTrait() ? $scope->getTraitReflection()
->getName() : null,
null !== $function ? $function->getName() : null,
$scope->getClassReflection()?->getName(),
$scope->getTraitReflection()?->getName(),
$function?->getName(),
$docComment->getText(),
);

Expand Down
19 changes: 0 additions & 19 deletions tests/Core/Ast/ArrayAssertionTrait.php

This file was deleted.

Loading

0 comments on commit d43f98a

Please sign in to comment.