public function configureRoute(sfRoute $route) { $route->setDefaultParameters($this->defaultParameters); $route->setDefaultOptions($this->options); }
$route = new sfRoute('/:foo'); $t->is($route->matchesParameters(array()), false, '->matchesParameters() returns false if one of the pattern variable is not provided'); $route = new sfRoute('/:foo', array('foo' => 'bar')); $t->is($route->matchesParameters(array()), true, '->matchesParameters() merges the default parameters with the provided parameters to match the route'); $route = new sfRoute('/:foo'); $t->is($route->matchesParameters(array('foo' => 'bar')), true, '->matchesParameters() matches if all variables are given as parameters'); $route = new sfRoute('/:foo'); $t->is($route->matchesParameters(array('foo' => '')), true, '->matchesParameters() matches if optional parameters empty'); $t->is($route->matchesParameters(array('foo' => null)), true, '->matchesParameters() matches if optional parameters empty'); /* $route = new sfRoute('/:foo/bar'); $t->is($route->matchesParameters(array('foo' => '')), false, '->matchesParameters() does not match is required parameters are empty'); $t->is($route->matchesParameters(array('foo' => null)), false, '->matchesParameters() does not match is required parameters are empty'); */ $route = new sfRoute('/:foo'); $route->setDefaultParameters(array('foo' => 'bar')); $t->is($route->matchesParameters(array()), true, '->matchesParameters() merges the routing default parameters with the provided parameters to match the route'); $route = new sfRoute('/:foo', array(), array('foo' => '\\d+')); $t->is($route->matchesParameters(array('foo' => 'bar')), false, '->matchesParameters() enforces requirements'); $route = new sfRoute('/:foo', array(), array('foo' => '\\d+')); $t->is($route->matchesParameters(array('foo' => 12)), true, '->matchesParameters() enforces requirements'); $route = new sfRoute('/', array('foo' => 'bar')); $t->is($route->matchesParameters(array('foo' => 'foobar')), false, '->matchesParameters() checks that there is no parameter that is not a pattern variable'); $route = new sfRoute('/', array('foo' => 'bar')); $t->is($route->matchesParameters(array('foo' => 'bar')), true, '->matchesParameters() can override a parameter that is not a pattern variable if the value is the same as the default one'); $route = new sfRoute('/:foo', array('bar' => 'foo')); $t->is($route->matchesParameters(array('foo' => 'bar', 'bar' => 'foo')), true, '->matchesParameters() can override a parameter that is not a pattern variable if the value is the same as the default one'); $route = new sfRoute('/:foo'); $t->is($route->matchesParameters(array('foo' => 'bar', 'bar' => 'foo')), true, '->generate() matches even if there are extra parameters'); $route = new sfRoute('/:foo', array(), array(), array('extra_parameters_as_query_string' => false)); $t->is($route->matchesParameters(array('foo' => 'bar', 'bar' => 'foo')), false, '->generate() does not match if there are extra parameters if extra_parameters_as_query_string is set to false');