You are here

public function UrlMatcherTest::testMatchNoRouteObject in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/symfony-cmf/routing/Tests/NestedMatcher/UrlMatcherTest.php \Symfony\Cmf\Component\Routing\Tests\NestedMatcher\UrlMatcherTest::testMatchNoRouteObject()

File

vendor/symfony-cmf/routing/Tests/NestedMatcher/UrlMatcherTest.php, line 104

Class

UrlMatcherTest

Namespace

Symfony\Cmf\Component\Routing\Tests\NestedMatcher

Code

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);
}