diff --git a/rules-tests/PHPUnit120/Rector/Class_/AssertIsTypeMethodCallRector/Fixture/skip_non_string_arg.php.inc b/rules-tests/PHPUnit120/Rector/Class_/AssertIsTypeMethodCallRector/Fixture/skip_non_string_arg.php.inc new file mode 100644 index 00000000..4a4ca308 --- /dev/null +++ b/rules-tests/PHPUnit120/Rector/Class_/AssertIsTypeMethodCallRector/Fixture/skip_non_string_arg.php.inc @@ -0,0 +1,20 @@ +assertThat([], $this->isType(SkipNonStringArgEnum::ONE)); + } +} diff --git a/rules/PHPUnit120/Rector/Class_/AssertIsTypeMethodCallRector.php b/rules/PHPUnit120/Rector/Class_/AssertIsTypeMethodCallRector.php index 7adca290..d9bd9f59 100644 --- a/rules/PHPUnit120/Rector/Class_/AssertIsTypeMethodCallRector.php +++ b/rules/PHPUnit120/Rector/Class_/AssertIsTypeMethodCallRector.php @@ -114,6 +114,10 @@ public function refactor(Node $node): Node|null } $argValue = $this->valueResolver->getValue($arg); + if (! is_string($argValue)) { + return null; + } + if (isset(self::IS_TYPE_VALUE_TO_METHOD[$argValue])) { if ($node instanceof MethodCall) { return new MethodCall($node->var, self::IS_TYPE_VALUE_TO_METHOD[$argValue]);