public function EventDispatcherTest::testGetAllListenersSortsByPriority

File

drupal/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/EventDispatcherTest.php, line 82

Class

EventDispatcherTest

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());
}