/**
  * Test the clearListeners method.
  *
  * @return  void
  *
  * @covers  Joomla\Event\Dispatcher::clearListeners
  * @since   1.0
  */
 public function testClearListeners()
 {
     $listener1 = new SomethingListener();
     $listener2 = new SomethingListener();
     $listener3 = new SomethingListener();
     $this->instance->addListener($listener1)->addListener($listener2)->addListener($listener3);
     // Test without specified event.
     $this->instance->clearListeners();
     $this->assertFalse($this->instance->hasListener($listener1));
     $this->assertFalse($this->instance->hasListener($listener2));
     $this->assertFalse($this->instance->hasListener($listener3));
     // Test with an event specified.
     $this->instance->addListener($listener1)->addListener($listener2)->addListener($listener3);
     $this->instance->clearListeners('onSomething');
     $this->assertTrue($this->instance->hasListener($listener1));
     $this->assertTrue($this->instance->hasListener($listener2));
     $this->assertTrue($this->instance->hasListener($listener3));
     $this->assertFalse($this->instance->hasListener($listener1, 'onSomething'));
     $this->assertFalse($this->instance->hasListener($listener2, 'onSomething'));
     $this->assertFalse($this->instance->hasListener($listener3, 'onSomething'));
     // Test with a specified event object.
     $this->instance->clearListeners(new Event('onAfterSomething'));
     $this->assertTrue($this->instance->hasListener($listener1));
     $this->assertTrue($this->instance->hasListener($listener2));
     $this->assertTrue($this->instance->hasListener($listener3));
     $this->assertFalse($this->instance->hasListener($listener1, 'onAfterSomething'));
     $this->assertFalse($this->instance->hasListener($listener2, 'onAfterSomething'));
     $this->assertFalse($this->instance->hasListener($listener3, 'onAfterSomething'));
 }
 /**
  * Test the removeSubscriber method.
  *
  * @return  void
  */
 public function testRemoveSubscriber()
 {
     $listener = new SomethingListener();
     // Add our event subscriber
     $this->instance->addSubscriber($listener);
     // And now remove it
     $this->instance->removeSubscriber($listener);
     $this->assertFalse($this->instance->hasListener([$listener, 'onBeforeSomething']));
     $this->assertFalse($this->instance->hasListener([$listener, 'onSomething']));
     $this->assertFalse($this->instance->hasListener([$listener, 'onAfterSomething']));
 }