/** * @covers Phossa\Route\Dispatcher::addExtension */ public function testAddExtension() { $this->expectOutputString("BEFORE_MATCH(404) BEFORE_COLL(404) AFTER_COLL(200) AFTER_MATCH(200) BEFORE_DISPATCH(200) BEFORE_ROUTE(200) 200 bingo AFTER_ROUTE(200) AFTER_DISPATCH(200) "); $ext = new Extension\SampleExtension(); $this->col->addExtension($ext); $this->object->addExtension($ext); $route = new Route('HEAD', '/user[/{name:xd}]', function (ResultInterface $result) { echo $result->getStatus() . " bingo "; return true; }); $route->addExtension($ext); $this->col->addRoute($route); $this->object->dispatchUrl('HEAD', '/user/phossa'); }