public function ContainerAwareEventDispatcherTest::testStopEventPropagation in Drupal 8
Same name and namespace in other branches
- 9 core/tests/Drupal/Tests/Component/EventDispatcher/ContainerAwareEventDispatcherTest.php \Drupal\Tests\Component\EventDispatcher\ContainerAwareEventDispatcherTest::testStopEventPropagation()
 - 10 core/tests/Drupal/Tests/Component/EventDispatcher/ContainerAwareEventDispatcherTest.php \Drupal\Tests\Component\EventDispatcher\ContainerAwareEventDispatcherTest::testStopEventPropagation()
 
File
- core/
tests/ Drupal/ Tests/ Component/ EventDispatcher/ ContainerAwareEventDispatcherTest.php, line 311  
Class
- ContainerAwareEventDispatcherTest
 - Unit tests for the ContainerAwareEventDispatcher.
 
Namespace
Drupal\Tests\Component\EventDispatcherCode
public function testStopEventPropagation() {
  $otherListener = new TestEventListener();
  // postFoo() stops the propagation, so only one listener should
  // be executed
  // Manually set priority to enforce $this->listener to be called first
  $this->dispatcher
    ->addListener('post.foo', [
    $this->listener,
    'postFoo',
  ], 10);
  $this->dispatcher
    ->addListener('post.foo', [
    $otherListener,
    'postFoo',
  ]);
  $this->dispatcher
    ->dispatch(self::POSTFOO);
  $this
    ->assertTrue($this->listener->postFooInvoked);
  $this
    ->assertFalse($otherListener->postFooInvoked);
}