array( 0 => array( 'id' => 'foo_enhancer', ), ), ); $builder = $this->getContainerBuilderMock(); $definition = new Definition('router'); $builder->expects($this->at(0)) ->method('hasDefinition') ->with('cmf_routing.dynamic_router') ->will($this->returnValue(true)) ; $builder->expects($this->any()) ->method('findTaggedServiceIds') ->will($this->returnValue($serviceIds)) ; $builder->expects($this->any()) ->method('getDefinition') ->with('cmf_routing.dynamic_router') ->will($this->returnValue($definition)) ; $pass = new RegisterRouteEnhancersPass(); $pass->process($builder); $calls = $definition->getMethodCalls(); $this->assertEquals(1, count($calls)); $this->assertEquals('addRouteEnhancer', $calls[0][0]); } /** * If there is no dynamic router defined in the container builder, nothing * should be processed. */ public function testNoDynamicRouter() { $builder = $this->getContainerBuilderMock(); $builder->expects($this->once()) ->method('hasDefinition') ->with('cmf_routing.dynamic_router') ->will($this->returnValue(false)) ; $pass = new RegisterRouteEnhancersPass(); $pass->process($builder); } protected function getContainerBuilderMock(array $functions = array()) { return $this->getMock( 'Symfony\Component\DependencyInjection\ContainerBuilder', array_merge(array('hasDefinition', 'findTaggedServiceIds', 'getDefinition'), $functions) ); } }