| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 | 
							- <?php
 - 
 - namespace JMS\SecurityExtraBundle\Tests\DependencyInjection\Compiler;
 - 
 - use Symfony\Component\DependencyInjection\Definition;
 - use JMS\SecurityExtraBundle\DependencyInjection\Compiler\AddAfterInvocationProvidersPass;
 - use Symfony\Component\DependencyInjection\ContainerBuilder;
 - 
 - class AddAfterInvocationProvidersPassTest extends \PHPUnit_Framework_TestCase
 - {
 -     public function testProcessStopsWhenNoAfterInvocationManager()
 -     {
 -         $container = $this->getContainer();
 -         $container
 -             ->expects($this->once())
 -             ->method('hasDefinition')
 -             ->with($this->equalTo('security.access.after_invocation_manager'))
 -             ->will($this->returnValue(false))
 -         ;
 -         $container
 -             ->expects($this->never())
 -             ->method('findTaggedServiceIds')
 -         ;
 - 
 -         $this->process($container);
 -     }
 - 
 -     public function testProcessRemovesAclProviderIfAclIsNotActive()
 -     {
 -         $container = new ContainerBuilder();
 -         $container->setDefinition('security.access.after_invocation_manager', $manager = new Definition());
 - 
 -         $container
 -             ->register('security.access.after_invocation.acl_provider')
 -             ->addTag('security.after_invocation.provider')
 -         ;
 - 
 -         $this->assertEquals(array(), $manager->getArguments());
 -         $this->process($container);
 -         $this->assertEquals(array(array()), $manager->getArguments());
 -     }
 - 
 -     public function testProcess()
 -     {
 -         $container = new ContainerBuilder();
 - 
 -         $container->setDefinition('security.access.after_invocation_manager', $manager = new Definition());
 - 
 -         $provider1 = new Definition();
 -         $provider1->addTag('security.after_invocation.provider');
 -         $container->setDefinition('provider1', $provider1);
 - 
 -         $provider2 = new Definition();
 -         $provider2->addTag('security.after_invocation.provider');
 -         $container->setDefinition('provider2', $provider2);
 - 
 -         $this->process($container);
 - 
 -         $arguments = $manager->getArguments();
 -         $this->assertEquals(2, count($providers = $arguments[0]));
 -         $this->assertEquals('provider1', (string) $providers[0]);
 -         $this->assertEquals('provider2', (string) $providers[1]);
 -     }
 - 
 -     protected function process(ContainerBuilder $container)
 -     {
 -         $pass = new AddAfterInvocationProvidersPass();
 -         $pass->process($container);
 -     }
 - 
 -     protected function getContainer()
 -     {
 -         return $this->getMock('Symfony\Component\DependencyInjection\ContainerBuilder');
 -     }
 - }
 
 
  |