summaryrefslogtreecommitdiff
path: root/vendor/symfony/event-dispatcher/Tests/DependencyInjection
diff options
context:
space:
mode:
authorFrédéric Guillot <fred@kanboard.net>2017-12-15 11:24:35 -0800
committerFrédéric Guillot <fred@kanboard.net>2017-12-15 11:55:42 -0800
commita93b8e10f5954be0853eec693c13e84c4bd9e6f2 (patch)
treeeda5de9494b819235616e8623bb3393e9cc373af /vendor/symfony/event-dispatcher/Tests/DependencyInjection
parent2c72a283f2d51034f85f4e2ca8b194d304a3c433 (diff)
Kanboard requires at least PHP 5.6 now
Diffstat (limited to 'vendor/symfony/event-dispatcher/Tests/DependencyInjection')
-rw-r--r--vendor/symfony/event-dispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php83
1 files changed, 31 insertions, 52 deletions
diff --git a/vendor/symfony/event-dispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php b/vendor/symfony/event-dispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php
index 0fdd6372..dbb1aa5c 100644
--- a/vendor/symfony/event-dispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php
+++ b/vendor/symfony/event-dispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php
@@ -11,10 +11,13 @@
namespace Symfony\Component\EventDispatcher\Tests\DependencyInjection;
+use PHPUnit\Framework\TestCase;
+use Symfony\Component\DependencyInjection\Argument\ServiceClosureArgument;
use Symfony\Component\DependencyInjection\ContainerBuilder;
+use Symfony\Component\DependencyInjection\Reference;
use Symfony\Component\EventDispatcher\DependencyInjection\RegisterListenersPass;
-class RegisterListenersPassTest extends \PHPUnit_Framework_TestCase
+class RegisterListenersPassTest extends TestCase
{
/**
* Tests that event subscribers not implementing EventSubscriberInterface
@@ -29,18 +32,12 @@ class RegisterListenersPassTest extends \PHPUnit_Framework_TestCase
'my_event_subscriber' => array(0 => array()),
);
- $definition = $this->getMock('Symfony\Component\DependencyInjection\Definition');
- $definition->expects($this->atLeastOnce())
- ->method('isPublic')
- ->will($this->returnValue(true));
+ $definition = $this->getMockBuilder('Symfony\Component\DependencyInjection\Definition')->getMock();
$definition->expects($this->atLeastOnce())
->method('getClass')
->will($this->returnValue('stdClass'));
- $builder = $this->getMock(
- 'Symfony\Component\DependencyInjection\ContainerBuilder',
- array('hasDefinition', 'findTaggedServiceIds', 'getDefinition')
- );
+ $builder = $this->getMockBuilder('Symfony\Component\DependencyInjection\ContainerBuilder')->setMethods(array('hasDefinition', 'findTaggedServiceIds', 'getDefinition'))->getMock();
$builder->expects($this->any())
->method('hasDefinition')
->will($this->returnValue(true));
@@ -64,18 +61,12 @@ class RegisterListenersPassTest extends \PHPUnit_Framework_TestCase
'my_event_subscriber' => array(0 => array()),
);
- $definition = $this->getMock('Symfony\Component\DependencyInjection\Definition');
- $definition->expects($this->atLeastOnce())
- ->method('isPublic')
- ->will($this->returnValue(true));
+ $definition = $this->getMockBuilder('Symfony\Component\DependencyInjection\Definition')->getMock();
$definition->expects($this->atLeastOnce())
->method('getClass')
->will($this->returnValue('Symfony\Component\EventDispatcher\Tests\DependencyInjection\SubscriberService'));
- $builder = $this->getMock(
- 'Symfony\Component\DependencyInjection\ContainerBuilder',
- array('hasDefinition', 'findTaggedServiceIds', 'getDefinition', 'findDefinition')
- );
+ $builder = $this->getMockBuilder('Symfony\Component\DependencyInjection\ContainerBuilder')->setMethods(array('hasDefinition', 'findTaggedServiceIds', 'getDefinition', 'findDefinition'))->getMock();
$builder->expects($this->any())
->method('hasDefinition')
->will($this->returnValue(true));
@@ -99,35 +90,7 @@ class RegisterListenersPassTest extends \PHPUnit_Framework_TestCase
/**
* @expectedException \InvalidArgumentException
- * @expectedExceptionMessage The service "foo" must be public as event listeners are lazy-loaded.
- */
- public function testPrivateEventListener()
- {
- $container = new ContainerBuilder();
- $container->register('foo', 'stdClass')->setPublic(false)->addTag('kernel.event_listener', array());
- $container->register('event_dispatcher', 'stdClass');
-
- $registerListenersPass = new RegisterListenersPass();
- $registerListenersPass->process($container);
- }
-
- /**
- * @expectedException \InvalidArgumentException
- * @expectedExceptionMessage The service "foo" must be public as event subscribers are lazy-loaded.
- */
- public function testPrivateEventSubscriber()
- {
- $container = new ContainerBuilder();
- $container->register('foo', 'stdClass')->setPublic(false)->addTag('kernel.event_subscriber', array());
- $container->register('event_dispatcher', 'stdClass');
-
- $registerListenersPass = new RegisterListenersPass();
- $registerListenersPass->process($container);
- }
-
- /**
- * @expectedException \InvalidArgumentException
- * @expectedExceptionMessage The service "foo" must not be abstract as event listeners are lazy-loaded.
+ * @expectedExceptionMessage The service "foo" tagged "kernel.event_listener" must not be abstract.
*/
public function testAbstractEventListener()
{
@@ -141,7 +104,7 @@ class RegisterListenersPassTest extends \PHPUnit_Framework_TestCase
/**
* @expectedException \InvalidArgumentException
- * @expectedExceptionMessage The service "foo" must not be abstract as event subscribers are lazy-loaded.
+ * @expectedExceptionMessage The service "foo" tagged "kernel.event_subscriber" must not be abstract.
*/
public function testAbstractEventSubscriber()
{
@@ -165,16 +128,29 @@ class RegisterListenersPassTest extends \PHPUnit_Framework_TestCase
$registerListenersPass->process($container);
$definition = $container->getDefinition('event_dispatcher');
- $expected_calls = array(
+ $expectedCalls = array(
array(
- 'addSubscriberService',
+ 'addListener',
array(
- 'foo',
- 'Symfony\Component\EventDispatcher\Tests\DependencyInjection\SubscriberService',
+ 'event',
+ array(new ServiceClosureArgument(new Reference('foo')), 'onEvent'),
+ 0,
),
),
);
- $this->assertSame($expected_calls, $definition->getMethodCalls());
+ $this->assertEquals($expectedCalls, $definition->getMethodCalls());
+ }
+
+ public function testHotPathEvents()
+ {
+ $container = new ContainerBuilder();
+
+ $container->register('foo', SubscriberService::class)->addTag('kernel.event_subscriber', array());
+ $container->register('event_dispatcher', 'stdClass');
+
+ (new RegisterListenersPass())->setHotPathEvents(array('event'))->process($container);
+
+ $this->assertTrue($container->getDefinition('foo')->hasTag('container.hot_path'));
}
/**
@@ -196,5 +172,8 @@ class SubscriberService implements \Symfony\Component\EventDispatcher\EventSubsc
{
public static function getSubscribedEvents()
{
+ return array(
+ 'event' => 'onEvent',
+ );
}
}