markTestSkipped('PHPUnit version too old for this test'); } $services = array(); $services[$name] = array(0 => array('priority' => $priority)); $priority = $priority ?: 0; $definition = $this->getMock('Symfony\Component\DependencyInjection\Definition'); $definition->expects($this->atLeastOnce()) ->method('addMethodCall') ->with($this->equalTo('add'), $this->callback(function ($arg) use ($name, $priority) { if (!$arg[0] instanceof Reference || $name !== $arg[0]->__toString()) { return false; } if ($priority !== $arg[1]) { return false; } return true; })); $builder = $this->getMock('Symfony\Component\DependencyInjection\ContainerBuilder', array('hasDefinition', 'findTaggedServiceIds', 'getDefinition')); $builder->expects($this->any()) ->method('hasDefinition') ->with('cmf_routing.router') ->will($this->returnValue(true)); $builder->expects($this->atLeastOnce()) ->method('findTaggedServiceIds') ->will($this->returnValue($services)); $builder->expects($this->atLeastOnce()) ->method('getDefinition') ->will($this->returnValue($definition)); $registerRoutersPass = new RegisterRoutersPass(); $registerRoutersPass->process($builder); } public function getValidRoutersData() { return array( array('my_router'), array('my_primary_router', 99), array('my_router', 0), ); } /** * If there is no chain router defined in the container builder, nothing * should be processed. */ public function testNoChainRouter() { $builder = $this->getMock('Symfony\Component\DependencyInjection\ContainerBuilder', array('hasDefinition', 'findTaggedServiceIds', 'getDefinition')); $builder->expects($this->once()) ->method('hasDefinition') ->with('cmf_routing.router') ->will($this->returnValue(false)) ; $builder->expects($this->never()) ->method('findTaggedServiceIds') ; $builder->expects($this->never()) ->method('getDefinition') ; $registerRoutersPass = new RegisterRoutersPass(); $registerRoutersPass->process($builder); } }