You are here

public function ContainerAwareEventDispatcherTest::testDispatchWithServices in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/Tests/Component/EventDispatcher/ContainerAwareEventDispatcherTest.php \Drupal\Tests\Component\EventDispatcher\ContainerAwareEventDispatcherTest::testDispatchWithServices()

File

core/tests/Drupal/Tests/Component/EventDispatcher/ContainerAwareEventDispatcherTest.php, line 193

Class

ContainerAwareEventDispatcherTest
Unit tests for the ContainerAwareEventDispatcher.

Namespace

Drupal\Tests\Component\EventDispatcher

Code

public function testDispatchWithServices() {
  $container = new ContainerBuilder();
  $container
    ->register('listener_service', TestEventListener::class);
  $listeners = [
    'test_event' => [
      0 => [
        [
          'service' => [
            'listener_service',
            'preFoo',
          ],
        ],
      ],
    ],
  ];
  $dispatcher = new ContainerAwareEventDispatcher($container, $listeners);
  $dispatcher
    ->dispatch(new Event(), 'test_event');
  $listenerService = $container
    ->get('listener_service');
  $this
    ->assertTrue($listenerService->preFooInvoked);
}