File tree Expand file tree Collapse file tree 2 files changed +23
-0
lines changed
src/Symfony/Component/Routing Expand file tree Collapse file tree 2 files changed +23
-0
lines changed Original file line number Diff line number Diff line change 13
13
14
14
use Symfony \Component \Config \Exception \FileLoaderLoadException ;
15
15
use Symfony \Component \Config \Loader \LoaderInterface ;
16
+ use Symfony \Component \Config \Resource \ResourceInterface ;
16
17
17
18
/**
18
19
* Helps add and import routes into a RouteCollection.
@@ -35,6 +36,7 @@ class RouteCollectionBuilder
35
36
private $ options = array ();
36
37
private $ schemes ;
37
38
private $ methods ;
39
+ private $ resources = array ();
38
40
39
41
/**
40
42
* @param LoaderInterface $loader
@@ -237,6 +239,19 @@ public function setMethods($methods)
237
239
return $ this ;
238
240
}
239
241
242
+ /**
243
+ * Adds a resource for this collection.
244
+ *
245
+ * @param ResourceInterface $resource
246
+ * @return $this
247
+ */
248
+ private function addResource (ResourceInterface $ resource )
249
+ {
250
+ $ this ->resources [] = $ resource ;
251
+
252
+ return $ this ;
253
+ }
254
+
240
255
/**
241
256
* Creates the final ArrayCollection, returns it, and clears everything.
242
257
*
@@ -291,6 +306,10 @@ public function build()
291
306
292
307
$ routeCollection ->addCollection ($ subCollection );
293
308
}
309
+
310
+ foreach ($ this ->resources as $ resource ) {
311
+ $ routeCollection ->addResource ($ resource );
312
+ }
294
313
}
295
314
296
315
return $ routeCollection ;
Original file line number Diff line number Diff line change 11
11
12
12
namespace Symfony \Component \Routing \Tests ;
13
13
14
+ use Symfony \Component \Config \Resource \FileResource ;
14
15
use Symfony \Component \Routing \Route ;
15
16
use Symfony \Component \Routing \RouteCollection ;
16
17
use Symfony \Component \Routing \RouteCollectionBuilder ;
@@ -29,6 +30,7 @@ public function testImport()
29
30
$ originalRoute = new Route ('/foo/path ' );
30
31
$ expectedCollection = new RouteCollection ();
31
32
$ expectedCollection ->add ('one_test_route ' , $ originalRoute );
33
+ $ expectedCollection ->addResource (new FileResource ('file_resource.yml ' ));
32
34
33
35
$ resolvedLoader
34
36
->expects ($ this ->once ())
@@ -52,6 +54,8 @@ public function testImport()
52
54
$ addedCollection = $ importedRoutes ->build ();
53
55
$ route = $ addedCollection ->get ('one_test_route ' );
54
56
$ this ->assertSame ($ originalRoute , $ route );
57
+ // should return file_resource.yml, which is in the original collection
58
+ $ this ->assertCount (1 , $ addedCollection ->getResources ());
55
59
}
56
60
57
61
/**
You can’t perform that action at this time.
0 commit comments