@@ -191,9 +191,9 @@ public function testInvokableClassRouteLoad()
191191 );
192192
193193 $ this ->reader
194- ->expects ($ this ->exactly (2 ))
195- ->method ('getClassAnnotation ' )
196- ->will ($ this ->returnValue ($ this ->getAnnotatedRoute ($ classRouteData )))
194+ ->expects ($ this ->exactly (1 ))
195+ ->method ('getClassAnnotations ' )
196+ ->will ($ this ->returnValue (array ( $ this ->getAnnotatedRoute ($ classRouteData) )))
197197 ;
198198 $ this ->reader
199199 ->expects ($ this ->once ())
@@ -205,8 +205,49 @@ public function testInvokableClassRouteLoad()
205205 $ route = $ routeCollection ->get ($ classRouteData ['name ' ]);
206206
207207 $ this ->assertSame ($ classRouteData ['path ' ], $ route ->getPath (), '->load preserves class route path ' );
208- $ this ->assertEquals (array_merge ($ classRouteData ['schemes ' ], $ classRouteData ['schemes ' ]), $ route ->getSchemes (), '->load preserves class route schemes ' );
209- $ this ->assertEquals (array_merge ($ classRouteData ['methods ' ], $ classRouteData ['methods ' ]), $ route ->getMethods (), '->load preserves class route methods ' );
208+ $ this ->assertEquals ($ classRouteData ['schemes ' ], $ route ->getSchemes (), '->load preserves class route schemes ' );
209+ $ this ->assertEquals ($ classRouteData ['methods ' ], $ route ->getMethods (), '->load preserves class route methods ' );
210+ }
211+
212+ public function testInvokableClassMultipleRouteLoad ()
213+ {
214+ $ classRouteData1 = array (
215+ 'name ' => 'route1 ' ,
216+ 'path ' => '/1 ' ,
217+ 'schemes ' => array ('https ' ),
218+ 'methods ' => array ('GET ' ),
219+ );
220+
221+ $ classRouteData2 = array (
222+ 'name ' => 'route2 ' ,
223+ 'path ' => '/2 ' ,
224+ 'schemes ' => array ('https ' ),
225+ 'methods ' => array ('GET ' ),
226+ );
227+
228+ $ this ->reader
229+ ->expects ($ this ->exactly (1 ))
230+ ->method ('getClassAnnotations ' )
231+ ->will ($ this ->returnValue (array ($ this ->getAnnotatedRoute ($ classRouteData1 ), $ this ->getAnnotatedRoute ($ classRouteData2 ))))
232+ ;
233+ $ this ->reader
234+ ->expects ($ this ->once ())
235+ ->method ('getMethodAnnotations ' )
236+ ->will ($ this ->returnValue (array ()))
237+ ;
238+
239+ $ routeCollection = $ this ->loader ->load ('Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses\BazClass ' );
240+ $ route = $ routeCollection ->get ($ classRouteData1 ['name ' ]);
241+
242+ $ this ->assertSame ($ classRouteData1 ['path ' ], $ route ->getPath (), '->load preserves class route path ' );
243+ $ this ->assertEquals ($ classRouteData1 ['schemes ' ], $ route ->getSchemes (), '->load preserves class route schemes ' );
244+ $ this ->assertEquals ($ classRouteData1 ['methods ' ], $ route ->getMethods (), '->load preserves class route methods ' );
245+
246+ $ route = $ routeCollection ->get ($ classRouteData2 ['name ' ]);
247+
248+ $ this ->assertSame ($ classRouteData2 ['path ' ], $ route ->getPath (), '->load preserves class route path ' );
249+ $ this ->assertEquals ($ classRouteData2 ['schemes ' ], $ route ->getSchemes (), '->load preserves class route schemes ' );
250+ $ this ->assertEquals ($ classRouteData2 ['methods ' ], $ route ->getMethods (), '->load preserves class route methods ' );
210251 }
211252
212253 public function testInvokableClassWithMethodRouteLoad ()
0 commit comments