Example #1
0
 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');
 }
Example #2
0
 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');
 }
Example #3
0
 public function testPattern()
 {
     $route = new Route('/{foo}');
     $this->assertEquals('/{foo}', $route->getPattern());
     $route->setPattern('/bar');
     $this->assertEquals('/bar', $route->getPattern());
 }
Example #4
0
 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();
 }