Skip to content

Commit 7e43c8f

Browse files
committed
Fix handling assertInstanceOf
1 parent 4b17a23 commit 7e43c8f

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

Diff for: src/Type/PHPUnit/Assert/AssertTypeSpecifyingExtensionHelper.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -124,15 +124,15 @@ private static function getExpressionResolvers(): array
124124
if (self::$resolvers === null) {
125125
self::$resolvers = [
126126
'InstanceOf' => static function (Scope $scope, Arg $class, Arg $object): ?Instanceof_ {
127-
$classType = $scope->getType($class->value)->getClassStringObjectType();
128-
$classNames = $classType->getObjectClassNames();
127+
$classType = $scope->getType($class->value);
128+
$classNames = $classType->getConstantStrings();
129129
if (count($classNames) !== 1) {
130130
return null;
131131
}
132132

133133
return new Instanceof_(
134134
$object->value,
135-
new Name($classNames[0])
135+
new Name($classNames[0]->getValue())
136136
);
137137
},
138138
'Same' => static function (Scope $scope, Arg $expected, Arg $actual): Identical {

Diff for: tests/Rules/PHPUnit/data/impossible-assert-method-call.php

+9
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,13 @@ public function doBar(object $o): void
2020
$this->assertEmpty($o);
2121
}
2222

23+
/**
24+
* @param class-string<\Exception> $name
25+
* @return void
26+
*/
27+
public function doBaz(\Exception $e, string $name): void
28+
{
29+
$this->assertInstanceOf($name, $e);
30+
}
31+
2332
}

0 commit comments

Comments
 (0)