Fix calls to nonexistent method ControllerReflector::getReflectionClassAndMethod()

This commit is contained in:
Javier Spagnoletti 2021-03-12 00:19:11 -03:00 committed by Guilhem Niot
parent bfd197fafd
commit b08bf79212
2 changed files with 5 additions and 8 deletions

View File

@ -120,22 +120,20 @@ final class FilteredRouteCollectionBuilder
return true; return true;
} }
$classAndMethod = $this->controllerReflector->getReflectionClassAndMethod($route->getDefault('_controller')); $reflectionMethod = $this->controllerReflector->getReflectionMethod($route->getDefault('_controller'));
if (null === $classAndMethod) { if (null === $reflectionMethod) {
return false; return false;
} }
list($class, $method) = $classAndMethod;
/** @var Areas|null $areas */ /** @var Areas|null $areas */
$areas = $this->annotationReader->getMethodAnnotation( $areas = $this->annotationReader->getMethodAnnotation(
$method, $reflectionMethod,
Areas::class Areas::class
); );
if (null === $areas) { if (null === $areas) {
$areas = $this->annotationReader->getClassAnnotation($class, Areas::class); $areas = $this->annotationReader->getClassAnnotation($reflectionMethod->getDeclaringClass(), Areas::class);
} }
return (null !== $areas) ? $areas->has($this->area) : false; return (null !== $areas) ? $areas->has($this->area) : false;

View File

@ -177,10 +177,9 @@ class FilteredRouteCollectionBuilderTest extends TestCase
$routes->add($name, $route); $routes->add($name, $route);
$area = 'area'; $area = 'area';
$reflectionClassStub = $this->createMock(\ReflectionClass::class);
$reflectionMethodStub = $this->createMock(\ReflectionMethod::class); $reflectionMethodStub = $this->createMock(\ReflectionMethod::class);
$controllerReflectorStub = $this->createMock(ControllerReflector::class); $controllerReflectorStub = $this->createMock(ControllerReflector::class);
$controllerReflectorStub->method('getReflectionClassAndMethod')->willReturn([$reflectionClassStub, $reflectionMethodStub]); $controllerReflectorStub->method('getReflectionMethod')->willReturn($reflectionMethodStub);
$annotationReader = $this->createMock(Reader::class); $annotationReader = $this->createMock(Reader::class);
$annotationReader $annotationReader