From 62fab9cf83b160c2edf328cbf0df3365e966e363 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Thu, 4 Feb 2016 14:40:20 +0100 Subject: [PATCH] [Config] Fix FileResource usages --- .../Component/DependencyInjection/ContainerBuilder.php | 4 +++- src/Symfony/Component/Routing/Loader/ObjectRouteLoader.php | 4 +++- src/Symfony/Component/Routing/Tests/Fixtures/bar.xml | 0 .../Component/Routing/Tests/Loader/ObjectRouteLoaderTest.php | 2 +- .../Component/Routing/Tests/RouteCollectionBuilderTest.php | 2 +- 5 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 src/Symfony/Component/Routing/Tests/Fixtures/bar.xml diff --git a/src/Symfony/Component/DependencyInjection/ContainerBuilder.php b/src/Symfony/Component/DependencyInjection/ContainerBuilder.php index 1347f99f1f628..950fd160e1f1d 100644 --- a/src/Symfony/Component/DependencyInjection/ContainerBuilder.php +++ b/src/Symfony/Component/DependencyInjection/ContainerBuilder.php @@ -260,7 +260,9 @@ public function addClassResource(\ReflectionClass $class) } do { - $this->addResource(new FileResource($class->getFileName())); + if (file_exists($class->getFileName())) { + $this->addResource(new FileResource($class->getFileName())); + } } while ($class = $class->getParentClass()); return $this; diff --git a/src/Symfony/Component/Routing/Loader/ObjectRouteLoader.php b/src/Symfony/Component/Routing/Loader/ObjectRouteLoader.php index 65d0ce36fa24b..0e39e79f205c1 100644 --- a/src/Symfony/Component/Routing/Loader/ObjectRouteLoader.php +++ b/src/Symfony/Component/Routing/Loader/ObjectRouteLoader.php @@ -87,7 +87,9 @@ public function supports($resource, $type = null) private function addClassResource(\ReflectionClass $class, RouteCollection $collection) { do { - $collection->addResource(new FileResource($class->getFileName())); + if (file_exists($class->getFileName())) { + $collection->addResource(new FileResource($class->getFileName())); + } } while ($class = $class->getParentClass()); } } diff --git a/src/Symfony/Component/Routing/Tests/Fixtures/bar.xml b/src/Symfony/Component/Routing/Tests/Fixtures/bar.xml new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/src/Symfony/Component/Routing/Tests/Loader/ObjectRouteLoaderTest.php b/src/Symfony/Component/Routing/Tests/Loader/ObjectRouteLoaderTest.php index 0fbd14fa0a00c..4356220c24715 100644 --- a/src/Symfony/Component/Routing/Tests/Loader/ObjectRouteLoaderTest.php +++ b/src/Symfony/Component/Routing/Tests/Loader/ObjectRouteLoaderTest.php @@ -26,7 +26,7 @@ public function testLoadCallsServiceAndReturnsCollection() $collection->add('foo', new Route('/foo')); // create some callable object - $service = $this->getMockBuilder('stdClass') + $service = $this->getMockBuilder(__CLASS__) ->setMethods(array('loadRoutes')) ->getMock(); $service->expects($this->once()) diff --git a/src/Symfony/Component/Routing/Tests/RouteCollectionBuilderTest.php b/src/Symfony/Component/Routing/Tests/RouteCollectionBuilderTest.php index e3a98e3b72698..b41dbe499a421 100644 --- a/src/Symfony/Component/Routing/Tests/RouteCollectionBuilderTest.php +++ b/src/Symfony/Component/Routing/Tests/RouteCollectionBuilderTest.php @@ -30,7 +30,7 @@ public function testImport() $originalRoute = new Route('/foo/path'); $expectedCollection = new RouteCollection(); $expectedCollection->add('one_test_route', $originalRoute); - $expectedCollection->addResource(new FileResource('file_resource.yml')); + $expectedCollection->addResource(new FileResource(__DIR__.'/Fixtures/foo.xml')); $resolvedLoader ->expects($this->once())