Maps an output visitor (json, xml...) to an accept-header
Inheritance: implements Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface
 public function testProcess()
 {
     $regexp1 = array('(^.*/.*$)');
     $regexp2 = array('(^application/json$)');
     $stringDefinition = new Definition();
     $stringDefinition->addTag('ezpublish_rest.output.visitor', array('regexps' => 'ezpublish_rest.output.visitor.test1.regexps'));
     $arrayDefinition = new Definition();
     $arrayDefinition->addTag('ezpublish_rest.output.visitor', array('regexps' => array($regexp1)));
     $containerBuilder = new ContainerBuilder();
     $containerBuilder->addDefinitions(array('ezpublish_rest.output.visitor.dispatcher' => new Definition(), 'ezpublish_rest.output.visitor.test_string' => $stringDefinition, 'ezpublish_rest.output.visitor.test_array' => $arrayDefinition));
     $containerBuilder->setParameter('ezpublish_rest.output.visitor.test1.regexps', array($regexp2));
     $compilerPass = new OutputVisitorPass();
     $compilerPass->process($containerBuilder);
     $dispatcherMethodCalls = $containerBuilder->getDefinition('ezpublish_rest.output.visitor.dispatcher')->getMethodCalls();
     self::assertTrue(isset($dispatcherMethodCalls[0][0]));
     self::assertTrue(isset($dispatcherMethodCalls[0][1]));
     self::assertEquals('addVisitor', $dispatcherMethodCalls[0][0]);
     self::assertEquals('addVisitor', $dispatcherMethodCalls[1][0]);
     self::assertInstanceOf('Symfony\\Component\\DependencyInjection\\Reference', $dispatcherMethodCalls[0][1][1]);
     self::assertInstanceOf('Symfony\\Component\\DependencyInjection\\Reference', $dispatcherMethodCalls[1][1][1]);
     self::assertEquals('ezpublish_rest.output.visitor.test_string', $dispatcherMethodCalls[0][1][1]->__toString());
     self::assertEquals('ezpublish_rest.output.visitor.test_array', $dispatcherMethodCalls[1][1][1]->__toString());
 }