File tree Expand file tree Collapse file tree 2 files changed +24
-0
lines changed
src/Symfony/Component/Routing Expand file tree Collapse file tree 2 files changed +24
-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,20 @@ 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
+ *
247
+ * @return $this
248
+ */
249
+ private function addResource (ResourceInterface $ resource )
250
+ {
251
+ $ this ->resources [] = $ resource ;
252
+
253
+ return $ this ;
254
+ }
255
+
240
256
/**
241
257
* Creates the final ArrayCollection, returns it, and clears everything.
242
258
*
@@ -291,6 +307,10 @@ public function build()
291
307
292
308
$ routeCollection ->addCollection ($ subCollection );
293
309
}
310
+
311
+ foreach ($ this ->resources as $ resource ) {
312
+ $ routeCollection ->addResource ($ resource );
313
+ }
294
314
}
295
315
296
316
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