public function testPattern() { $route = new Route('/{foo}'); $route->setPattern('/{bar}'); $this->assertEquals('/{bar}', $route->getPattern(), '->setPattern() sets the pattern'); $route->setPattern(''); $this->assertEquals('/', $route->getPattern(), '->setPattern() adds a / at the beginning of the pattern if needed'); $route->setPattern('bar'); $this->assertEquals('/bar', $route->getPattern(), '->setPattern() adds a / at the beginning of the pattern if needed'); $this->assertEquals($route, $route->setPattern(''), '->setPattern() implements a fluent interface'); }
public function testPattern() { $route = new Route('/{foo}'); $route->setPattern('/{bar}'); $this->assertEquals('/{bar}', $route->getPattern(), '->setPattern() sets the pattern'); $route->setPattern(''); $this->assertEquals('/', $route->getPattern(), '->setPattern() adds a / at the beginning of the pattern if needed'); $route->setPattern('bar'); $this->assertEquals('/bar', $route->getPattern(), '->setPattern() adds a / at the beginning of the pattern if needed'); $this->assertEquals($route, $route->setPattern(''), '->setPattern() implements a fluent interface'); $route->setPattern('//path'); $this->assertEquals('/path', $route->getPattern(), '->setPattern() does not allow two slahes "//" at the beginning of the pattern as it would be confused with a network path when generating the path from the route'); }
public function testPattern() { $route = new Route('/{foo}'); $this->assertEquals('/{foo}', $route->getPattern()); $route->setPattern('/bar'); $this->assertEquals('/bar', $route->getPattern()); }
public function testLegacyPattern() { $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); $route = new Route('/{foo}'); $this->assertEquals('/{foo}', $route->getPattern()); $route->setPattern('/bar'); $this->assertEquals('/bar', $route->getPattern()); }
/** * {@inheritDoc} * * Overwritten to make sure the route is recompiled if the pattern was changed */ public function compile() { if ($this->needRecompile) { // calling parent::setPath just to let it set compiled=null. the parent $path field is never used // TODO: drop setPattern when we drop symfony 2.1 support // TODO: for now we need to check the method as setPattern on 2.2. triggers our setPath instead of parent setPath if (method_exists('Symfony\\Component\\Routing\\Route', 'setPath')) { parent::setPath($this->getPath()); } else { parent::setPattern($this->getPath()); } } return parent::compile(); }