You are here

public function AbstractEventDispatcherTest::testGetAllListenersSortsByPriority in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 vendor/symfony/event-dispatcher/Tests/AbstractEventDispatcherTest.php \Symfony\Component\EventDispatcher\Tests\AbstractEventDispatcherTest::testGetAllListenersSortsByPriority()

File

vendor/symfony/event-dispatcher/Tests/AbstractEventDispatcherTest.php, line 87

Class

AbstractEventDispatcherTest

Namespace

Symfony\Component\EventDispatcher\Tests

Code

public function testGetAllListenersSortsByPriority() {
  $listener1 = new TestEventListener();
  $listener2 = new TestEventListener();
  $listener3 = new TestEventListener();
  $listener4 = new TestEventListener();
  $listener5 = new TestEventListener();
  $listener6 = new TestEventListener();
  $this->dispatcher
    ->addListener('pre.foo', $listener1, -10);
  $this->dispatcher
    ->addListener('pre.foo', $listener2);
  $this->dispatcher
    ->addListener('pre.foo', $listener3, 10);
  $this->dispatcher
    ->addListener('post.foo', $listener4, -10);
  $this->dispatcher
    ->addListener('post.foo', $listener5);
  $this->dispatcher
    ->addListener('post.foo', $listener6, 10);
  $expected = array(
    'pre.foo' => array(
      $listener3,
      $listener2,
      $listener1,
    ),
    'post.foo' => array(
      $listener6,
      $listener5,
      $listener4,
    ),
  );
  $this
    ->assertSame($expected, $this->dispatcher
    ->getListeners());
}