public function testBefore() { $controllers = new ControllerCollection(new Route()); $controllers->before('mid1'); $controller = $controllers->match('/{id}/{name}/{extra}', function () { })->before('mid2'); $controllers->before('mid3'); $this->assertEquals(array('mid1', 'mid2', 'mid3'), $controller->getRoute()->getOption('_before_middlewares')); }
public function testNestedCollectionRouteCallbacks() { $cl1 = new ControllerCollection(new MyRoute1()); $cl2 = new ControllerCollection(new MyRoute1()); $c1 = $cl2->match('/c1', function () { }); $cl1->mount('/foo', $cl2); $c2 = $cl2->match('/c2', function () { }); $cl1->before('before'); $c3 = $cl2->match('/c3', function () { }); $cl1->flush(); $this->assertEquals(array('before'), $c1->getRoute()->getOption('_before_middlewares')); $this->assertEquals(array('before'), $c2->getRoute()->getOption('_before_middlewares')); $this->assertEquals(array('before'), $c3->getRoute()->getOption('_before_middlewares')); }