Skip to content

Commit 31bf8fb

Browse files
[CodeQuality] Cover assertNotNull() in AssertEmptyNullableObjectToAssertInstanceofRector (#452)
* covert assertNotNull() in AssertEmptyNullableObjectToAssertInstanceofRector * [ci-review] Rector Rectify --------- Co-authored-by: GitHub Action <actions@github.com>
1 parent e7e84da commit 31bf8fb

3 files changed

Lines changed: 90 additions & 9 deletions

File tree

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
3+
namespace Rector\PHPUnit\Tests\CodeQuality\Rector\MethodCall\AssertEmptyNullableObjectToAssertInstanceofRector\Fixture;
4+
5+
use CodeQuality\Rector\MethodCall\AssertEmptyNullableObjectToAssertInstanceofRector\Source\SomeTypeObject;
6+
use PHPUnit\Framework\TestCase;
7+
8+
final class IncludeAssertNotNull extends TestCase
9+
{
10+
public function test()
11+
{
12+
$someObject = mt_rand(0, 1) ? new SomeTypeObject() : null;
13+
14+
$this->assertNotNull($someObject);
15+
}
16+
}
17+
18+
?>
19+
-----
20+
<?php
21+
22+
namespace Rector\PHPUnit\Tests\CodeQuality\Rector\MethodCall\AssertEmptyNullableObjectToAssertInstanceofRector\Fixture;
23+
24+
use CodeQuality\Rector\MethodCall\AssertEmptyNullableObjectToAssertInstanceofRector\Source\SomeTypeObject;
25+
use PHPUnit\Framework\TestCase;
26+
27+
final class IncludeAssertNotNull extends TestCase
28+
{
29+
public function test()
30+
{
31+
$someObject = mt_rand(0, 1) ? new SomeTypeObject() : null;
32+
33+
$this->assertInstanceOf(\CodeQuality\Rector\MethodCall\AssertEmptyNullableObjectToAssertInstanceofRector\Source\SomeTypeObject::class, $someObject);
34+
}
35+
}
36+
37+
?>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
3+
namespace Rector\PHPUnit\Tests\CodeQuality\Rector\MethodCall\AssertEmptyNullableObjectToAssertInstanceofRector\Fixture;
4+
5+
use CodeQuality\Rector\MethodCall\AssertEmptyNullableObjectToAssertInstanceofRector\Source\SomeTypeObject;
6+
use PHPUnit\Framework\TestCase;
7+
8+
final class IncludeAssertNull extends TestCase
9+
{
10+
public function test()
11+
{
12+
$someObject = mt_rand(0, 1) ? new SomeTypeObject() : null;
13+
14+
$this->assertNull($someObject);
15+
}
16+
}
17+
18+
?>
19+
-----
20+
<?php
21+
22+
namespace Rector\PHPUnit\Tests\CodeQuality\Rector\MethodCall\AssertEmptyNullableObjectToAssertInstanceofRector\Fixture;
23+
24+
use CodeQuality\Rector\MethodCall\AssertEmptyNullableObjectToAssertInstanceofRector\Source\SomeTypeObject;
25+
use PHPUnit\Framework\TestCase;
26+
27+
final class IncludeAssertNull extends TestCase
28+
{
29+
public function test()
30+
{
31+
$someObject = mt_rand(0, 1) ? new SomeTypeObject() : null;
32+
33+
$this->assertNotInstanceOf(\CodeQuality\Rector\MethodCall\AssertEmptyNullableObjectToAssertInstanceofRector\Source\SomeTypeObject::class, $someObject);
34+
}
35+
}
36+
37+
?>

rules/CodeQuality/Rector/MethodCall/AssertEmptyNullableObjectToAssertInstanceofRector.php

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,11 @@ public function __construct(
3030

3131
public function getRuleDefinition(): RuleDefinition
3232
{
33-
return new RuleDefinition('Change assertNotEmpty() on an object to more clear assertInstanceof()', [
34-
new CodeSample(
35-
<<<'CODE_SAMPLE'
33+
return new RuleDefinition(
34+
'Change assertNotEmpty() and assertNotNull() on an object to more clear assertInstanceof()',
35+
[
36+
new CodeSample(
37+
<<<'CODE_SAMPLE'
3638
use PHPUnit\Framework\TestCase;
3739
3840
class SomeClass extends TestCase
@@ -46,8 +48,8 @@ public function test()
4648
}
4749
CODE_SAMPLE
4850

49-
,
50-
<<<'CODE_SAMPLE'
51+
,
52+
<<<'CODE_SAMPLE'
5153
use PHPUnit\Framework\TestCase;
5254
5355
class SomeClass extends TestCase
@@ -60,8 +62,10 @@ public function test()
6062
}
6163
}
6264
CODE_SAMPLE
63-
),
64-
]);
65+
),
66+
67+
]
68+
);
6569
}
6670

6771
/**
@@ -81,7 +85,7 @@ public function refactor(Node $node): ?Node
8185
return null;
8286
}
8387

84-
if (! $this->isNames($node->name, ['assertNotEmpty', 'assertEmpty'])) {
88+
if (! $this->isNames($node->name, ['assertNotEmpty', 'assertEmpty', 'assertNull', 'assertNotNull'])) {
8589
return null;
8690
}
8791

@@ -105,7 +109,10 @@ public function refactor(Node $node): ?Node
105109
return null;
106110
}
107111

108-
$methodName = $this->isName($node->name, 'assertEmpty') ? 'assertNotInstanceOf' : 'assertInstanceOf';
112+
$methodName = $this->isNames(
113+
$node->name,
114+
['assertEmpty', 'assertNull']
115+
) ? 'assertNotInstanceOf' : 'assertInstanceOf';
109116

110117
$node->name = new Identifier($methodName);
111118

0 commit comments

Comments
 (0)