You are here

class ImmutableEventDispatcherTest in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 vendor/symfony/event-dispatcher/Tests/ImmutableEventDispatcherTest.php \Symfony\Component\EventDispatcher\Tests\ImmutableEventDispatcherTest

@author Bernhard Schussek <bschussek@gmail.com>

Hierarchy

  • class \Symfony\Component\EventDispatcher\Tests\ImmutableEventDispatcherTest extends \Symfony\Component\EventDispatcher\Tests\PHPUnit_Framework_TestCase

Expanded class hierarchy of ImmutableEventDispatcherTest

File

vendor/symfony/event-dispatcher/Tests/ImmutableEventDispatcherTest.php, line 20

Namespace

Symfony\Component\EventDispatcher\Tests
View source
class ImmutableEventDispatcherTest extends \PHPUnit_Framework_TestCase {

  /**
   * @var \PHPUnit_Framework_MockObject_MockObject
   */
  private $innerDispatcher;

  /**
   * @var ImmutableEventDispatcher
   */
  private $dispatcher;
  protected function setUp() {
    $this->innerDispatcher = $this
      ->getMock('Symfony\\Component\\EventDispatcher\\EventDispatcherInterface');
    $this->dispatcher = new ImmutableEventDispatcher($this->innerDispatcher);
  }
  public function testDispatchDelegates() {
    $event = new Event();
    $this->innerDispatcher
      ->expects($this
      ->once())
      ->method('dispatch')
      ->with('event', $event)
      ->will($this
      ->returnValue('result'));
    $this
      ->assertSame('result', $this->dispatcher
      ->dispatch('event', $event));
  }
  public function testGetListenersDelegates() {
    $this->innerDispatcher
      ->expects($this
      ->once())
      ->method('getListeners')
      ->with('event')
      ->will($this
      ->returnValue('result'));
    $this
      ->assertSame('result', $this->dispatcher
      ->getListeners('event'));
  }
  public function testHasListenersDelegates() {
    $this->innerDispatcher
      ->expects($this
      ->once())
      ->method('hasListeners')
      ->with('event')
      ->will($this
      ->returnValue('result'));
    $this
      ->assertSame('result', $this->dispatcher
      ->hasListeners('event'));
  }

  /**
   * @expectedException \BadMethodCallException
   */
  public function testAddListenerDisallowed() {
    $this->dispatcher
      ->addListener('event', function () {
      return 'foo';
    });
  }

  /**
   * @expectedException \BadMethodCallException
   */
  public function testAddSubscriberDisallowed() {
    $subscriber = $this
      ->getMock('Symfony\\Component\\EventDispatcher\\EventSubscriberInterface');
    $this->dispatcher
      ->addSubscriber($subscriber);
  }

  /**
   * @expectedException \BadMethodCallException
   */
  public function testRemoveListenerDisallowed() {
    $this->dispatcher
      ->removeListener('event', function () {
      return 'foo';
    });
  }

  /**
   * @expectedException \BadMethodCallException
   */
  public function testRemoveSubscriberDisallowed() {
    $subscriber = $this
      ->getMock('Symfony\\Component\\EventDispatcher\\EventSubscriberInterface');
    $this->dispatcher
      ->removeSubscriber($subscriber);
  }

}

Members