class UrlMatcherTest in Zircon Profile 8
Same name in this branch
- 8 vendor/symfony-cmf/routing/Tests/NestedMatcher/UrlMatcherTest.php \Symfony\Cmf\Component\Routing\Tests\NestedMatcher\UrlMatcherTest
- 8 vendor/symfony/routing/Tests/Matcher/UrlMatcherTest.php \Symfony\Component\Routing\Tests\Matcher\UrlMatcherTest
Same name and namespace in other branches
- 8.0 vendor/symfony-cmf/routing/Tests/NestedMatcher/UrlMatcherTest.php \Symfony\Cmf\Component\Routing\Tests\NestedMatcher\UrlMatcherTest
Hierarchy
- class \Symfony\Cmf\Component\Routing\Test\CmfUnitTestCase extends \Symfony\Cmf\Component\Routing\Test\PHPUnit_Framework_TestCase
- class \Symfony\Cmf\Component\Routing\Tests\NestedMatcher\UrlMatcherTest
Expanded class hierarchy of UrlMatcherTest
File
- vendor/
symfony-cmf/ routing/ Tests/ NestedMatcher/ UrlMatcherTest.php, line 24
Namespace
Symfony\Cmf\Component\Routing\Tests\NestedMatcherView source
class UrlMatcherTest extends CmfUnitTestCase {
protected $routeDocument;
protected $routeCompiled;
protected $matcher;
protected $context;
protected $request;
protected $url = '/foo/bar';
public function setUp() {
$this->routeDocument = $this
->buildMock('Symfony\\Cmf\\Component\\Routing\\Tests\\Routing\\RouteMock', array(
'getDefaults',
'getRouteKey',
'compile',
));
$this->routeCompiled = $this
->buildMock('Symfony\\Component\\Routing\\CompiledRoute');
$this->context = $this
->buildMock('Symfony\\Component\\Routing\\RequestContext');
$this->request = Request::create($this->url);
$this->matcher = new UrlMatcher(new RouteCollection(), $this->context);
}
public function testMatchRouteKey() {
$this
->doTestMatchRouteKey($this->url);
}
public function testMatchNoKey() {
$this
->doTestMatchRouteKey(null);
}
public function doTestMatchRouteKey($routeKey) {
$this->routeCompiled
->expects($this
->atLeastOnce())
->method('getStaticPrefix')
->will($this
->returnValue($this->url));
$this->routeCompiled
->expects($this
->atLeastOnce())
->method('getRegex')
->will($this
->returnValue('#' . str_replace('/', '\\/', $this->url) . '#'));
$this->routeDocument
->expects($this
->atLeastOnce())
->method('compile')
->will($this
->returnValue($this->routeCompiled));
$this->routeDocument
->expects($this
->atLeastOnce())
->method('getRouteKey')
->will($this
->returnValue($routeKey));
$this->routeDocument
->expects($this
->atLeastOnce())
->method('getDefaults')
->will($this
->returnValue(array(
'foo' => 'bar',
)));
$mockCompiled = $this
->buildMock('Symfony\\Component\\Routing\\CompiledRoute');
$mockCompiled
->expects($this
->any())
->method('getStaticPrefix')
->will($this
->returnValue('/no/match'));
$mockRoute = $this
->getMockBuilder('Symfony\\Component\\Routing\\Route')
->disableOriginalConstructor()
->getMock();
$mockRoute
->expects($this
->any())
->method('compile')
->will($this
->returnValue($mockCompiled));
$routeCollection = new RouteCollection();
$routeCollection
->add('some', $mockRoute);
$routeCollection
->add('_company_more', $this->routeDocument);
$routeCollection
->add('other', $mockRoute);
$results = $this->matcher
->finalMatch($routeCollection, $this->request);
$expected = array(
RouteObjectInterface::ROUTE_NAME => $routeKey ? $routeKey : '_company_more',
RouteObjectInterface::ROUTE_OBJECT => $this->routeDocument,
'foo' => 'bar',
);
$this
->assertEquals($expected, $results);
}
public function testMatchNoRouteObject() {
$this->routeCompiled
->expects($this
->atLeastOnce())
->method('getStaticPrefix')
->will($this
->returnValue($this->url));
$this->routeCompiled
->expects($this
->atLeastOnce())
->method('getRegex')
->will($this
->returnValue('#' . str_replace('/', '\\/', $this->url) . '#'));
$this->routeDocument = $this
->getMockBuilder('Symfony\\Component\\Routing\\Route')
->disableOriginalConstructor()
->getMock();
$this->routeDocument
->expects($this
->atLeastOnce())
->method('compile')
->will($this
->returnValue($this->routeCompiled));
$this->routeDocument
->expects($this
->never())
->method('getRouteKey');
$this->routeDocument
->expects($this
->atLeastOnce())
->method('getDefaults')
->will($this
->returnValue(array(
'foo' => 'bar',
)));
$mockCompiled = $this
->buildMock('Symfony\\Component\\Routing\\CompiledRoute');
$mockCompiled
->expects($this
->any())
->method('getStaticPrefix')
->will($this
->returnValue('/no/match'));
$mockRoute = $this
->getMockBuilder('Symfony\\Component\\Routing\\Route')
->disableOriginalConstructor()
->getMock();
$mockRoute
->expects($this
->any())
->method('compile')
->will($this
->returnValue($mockCompiled));
$routeCollection = new RouteCollection();
$routeCollection
->add('some', $mockRoute);
$routeCollection
->add('_company_more', $this->routeDocument);
$routeCollection
->add('other', $mockRoute);
$results = $this->matcher
->finalMatch($routeCollection, $this->request);
$expected = array(
RouteObjectInterface::ROUTE_NAME => '_company_more',
RouteObjectInterface::ROUTE_OBJECT => $this->routeDocument,
'foo' => 'bar',
);
$this
->assertEquals($expected, $results);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
CmfUnitTestCase:: |
protected | function | ||
UrlMatcherTest:: |
protected | property | ||
UrlMatcherTest:: |
protected | property | ||
UrlMatcherTest:: |
protected | property | ||
UrlMatcherTest:: |
protected | property | ||
UrlMatcherTest:: |
protected | property | ||
UrlMatcherTest:: |
protected | property | ||
UrlMatcherTest:: |
public | function | ||
UrlMatcherTest:: |
public | function | ||
UrlMatcherTest:: |
public | function | ||
UrlMatcherTest:: |
public | function | ||
UrlMatcherTest:: |
public | function |