Skip to content

Commit 4f779ec

Browse files
authored
[CodeQuality] Add PHPUNIT_NARROW_ASSERTS set focused on narrowing broad asserts to specific methods (#716)
* [CodeQuality] Add PHPUNIT_NARROW_ASSERTS set focused on narrowing broad asserts to specific methods * Exclude UseSpecificWillMethodRector, not an assert narrowing * Exclude SimplifyForeachInstanceOfRector too * Drop AssertFuncCallToPHPUnitAssertRector and UseSpecificWithMethodRector, not narrowing asserts
1 parent 7cc60e8 commit 4f779ec

2 files changed

Lines changed: 43 additions & 0 deletions

File tree

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
use Rector\Config\RectorConfig;
6+
use Rector\PHPUnit\CodeQuality\Rector\Expression\AssertArrayCastedObjectToAssertSameRector;
7+
use Rector\PHPUnit\CodeQuality\Rector\MethodCall\AssertCompareOnCountableWithMethodToAssertCountRector;
8+
use Rector\PHPUnit\CodeQuality\Rector\MethodCall\AssertComparisonToSpecificMethodRector;
9+
use Rector\PHPUnit\CodeQuality\Rector\MethodCall\AssertEmptyNullableObjectToAssertInstanceofRector;
10+
use Rector\PHPUnit\CodeQuality\Rector\MethodCall\AssertEqualsToSameRector;
11+
use Rector\PHPUnit\CodeQuality\Rector\MethodCall\AssertFalseStrposToContainsRector;
12+
use Rector\PHPUnit\CodeQuality\Rector\MethodCall\AssertInstanceOfComparisonRector;
13+
use Rector\PHPUnit\CodeQuality\Rector\MethodCall\AssertIssetToSpecificMethodRector;
14+
use Rector\PHPUnit\CodeQuality\Rector\MethodCall\AssertNotOperatorRector;
15+
use Rector\PHPUnit\CodeQuality\Rector\MethodCall\AssertSameBoolNullToSpecificMethodRector;
16+
use Rector\PHPUnit\CodeQuality\Rector\MethodCall\AssertSameTrueFalseToAssertTrueFalseRector;
17+
use Rector\PHPUnit\CodeQuality\Rector\MethodCall\AssertTrueFalseToSpecificMethodRector;
18+
use Rector\PHPUnit\CodeQuality\Rector\MethodCall\MatchAssertSameExpectedTypeRector;
19+
20+
/**
21+
* Narrow broad asserts to their specific, more descriptive method calls,
22+
* e.g. assertTrue(isset($a['b'])) => assertArrayHasKey('b', $a).
23+
*/
24+
return static function (RectorConfig $rectorConfig): void {
25+
$rectorConfig->rules([
26+
AssertCompareOnCountableWithMethodToAssertCountRector::class,
27+
AssertComparisonToSpecificMethodRector::class,
28+
AssertNotOperatorRector::class,
29+
AssertTrueFalseToSpecificMethodRector::class,
30+
AssertSameBoolNullToSpecificMethodRector::class,
31+
AssertFalseStrposToContainsRector::class,
32+
AssertIssetToSpecificMethodRector::class,
33+
AssertInstanceOfComparisonRector::class,
34+
AssertEmptyNullableObjectToAssertInstanceofRector::class,
35+
36+
AssertEqualsToSameRector::class,
37+
AssertSameTrueFalseToAssertTrueFalseRector::class,
38+
MatchAssertSameExpectedTypeRector::class,
39+
AssertArrayCastedObjectToAssertSameRector::class,
40+
]);
41+
};

‎src/Set/PHPUnitSetList.php‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,7 @@ final class PHPUnitSetList
3131

3232
public const string PHPUNIT_CODE_QUALITY = __DIR__ . '/../../config/sets/phpunit-code-quality.php';
3333

34+
public const string PHPUNIT_NARROW_ASSERTS = __DIR__ . '/../../config/sets/phpunit-narrow-asserts.php';
35+
3436
public const string ANNOTATIONS_TO_ATTRIBUTES = __DIR__ . '/../../config/sets/annotations-to-attributes.php';
3537
}

0 commit comments

Comments
 (0)