class TraceableUrlMatcherTest in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/symfony/routing/Tests/Matcher/TraceableUrlMatcherTest.php \Symfony\Component\Routing\Tests\Matcher\TraceableUrlMatcherTest
Hierarchy
- class \Symfony\Component\Routing\Tests\Matcher\TraceableUrlMatcherTest extends \Symfony\Component\Routing\Tests\Matcher\PHPUnit_Framework_TestCase
Expanded class hierarchy of TraceableUrlMatcherTest
File
- vendor/
symfony/ routing/ Tests/ Matcher/ TraceableUrlMatcherTest.php, line 19
Namespace
Symfony\Component\Routing\Tests\MatcherView source
class TraceableUrlMatcherTest extends \PHPUnit_Framework_TestCase {
public function test() {
$coll = new RouteCollection();
$coll
->add('foo', new Route('/foo', array(), array(), array(), '', array(), array(
'POST',
)));
$coll
->add('bar', new Route('/bar/{id}', array(), array(
'id' => '\\d+',
)));
$coll
->add('bar1', new Route('/bar/{name}', array(), array(
'id' => '\\w+',
), array(), '', array(), array(
'POST',
)));
$coll
->add('bar2', new Route('/foo', array(), array(), array(), 'baz'));
$coll
->add('bar3', new Route('/foo1', array(), array(), array(), 'baz'));
$coll
->add('bar4', new Route('/foo2', array(), array(), array(), 'baz', array(), array(), 'context.getMethod() == "GET"'));
$context = new RequestContext();
$context
->setHost('baz');
$matcher = new TraceableUrlMatcher($coll, $context);
$traces = $matcher
->getTraces('/babar');
$this
->assertSame(array(
0,
0,
0,
0,
0,
0,
), $this
->getLevels($traces));
$traces = $matcher
->getTraces('/foo');
$this
->assertSame(array(
1,
0,
0,
2,
), $this
->getLevels($traces));
$traces = $matcher
->getTraces('/bar/12');
$this
->assertSame(array(
0,
2,
), $this
->getLevels($traces));
$traces = $matcher
->getTraces('/bar/dd');
$this
->assertSame(array(
0,
1,
1,
0,
0,
0,
), $this
->getLevels($traces));
$traces = $matcher
->getTraces('/foo1');
$this
->assertSame(array(
0,
0,
0,
0,
2,
), $this
->getLevels($traces));
$context
->setMethod('POST');
$traces = $matcher
->getTraces('/foo');
$this
->assertSame(array(
2,
), $this
->getLevels($traces));
$traces = $matcher
->getTraces('/bar/dd');
$this
->assertSame(array(
0,
1,
2,
), $this
->getLevels($traces));
$traces = $matcher
->getTraces('/foo2');
$this
->assertSame(array(
0,
0,
0,
0,
0,
1,
), $this
->getLevels($traces));
}
public function testMatchRouteOnMultipleHosts() {
$routes = new RouteCollection();
$routes
->add('first', new Route('/mypath/', array(
'_controller' => 'MainBundle:Info:first',
), array(), array(), 'some.example.com'));
$routes
->add('second', new Route('/mypath/', array(
'_controller' => 'MainBundle:Info:second',
), array(), array(), 'another.example.com'));
$context = new RequestContext();
$context
->setHost('baz');
$matcher = new TraceableUrlMatcher($routes, $context);
$traces = $matcher
->getTraces('/mypath/');
$this
->assertSame(array(
TraceableUrlMatcher::ROUTE_ALMOST_MATCHES,
TraceableUrlMatcher::ROUTE_ALMOST_MATCHES,
), $this
->getLevels($traces));
}
public function getLevels($traces) {
$levels = array();
foreach ($traces as $trace) {
$levels[] = $trace['level'];
}
return $levels;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
TraceableUrlMatcherTest:: |
public | function | ||
TraceableUrlMatcherTest:: |
public | function | ||
TraceableUrlMatcherTest:: |
public | function |