/**
  * Unsets the value at the specified index
  *
  * @link http://www.php.net/manual/en/arrayaccess.offsetunset.php ArrayAccess::offsetUnset()
  *
  * @param mixed $index
  *            The index being unset.
  */
 public function offsetUnset($index)
 {
     // Does index exist?
     if (ArrayObject::offsetExists($index)) {
         // Deregister object
         $this->_Mediator->remSubscriber(ArrayObject::offsetGet($index));
         // Unset object
         ArrayObject::offsetUnset($index);
     }
 }
Exemple #2
0
 /**
  * @depends test_isRegistered
  * @covers ::remSubscriber
  */
 public function test_remSubscriber()
 {
     # Test normal subscriber
     $EventSubscriber = new MockEventSubscriber();
     $this->Mediator->addSubscriber($EventSubscriber);
     $this->Mediator->remSubscriber($EventSubscriber);
     $this->assertFalse($this->Mediator->isRegistered('pre.foo'), 'Event name pre.foo should have no subscribers');
     $this->assertFalse($this->Mediator->isRegistered('post.foo'), 'Event name post.foo should have no subscribers');
     # Test subscriber with  priorities
     $EventSubscriber = new MockEventSubscriberWithPriorities();
     $this->Mediator->addSubscriber($EventSubscriber);
     $this->Mediator->remSubscriber($EventSubscriber);
     $this->assertFalse($this->Mediator->isRegistered('pre.foo'), 'Event name pre.foo should have no subscribers');
     # Test subscriber with multiple callbacks
     $EventSubscriber = new MockEventSubscriberWithMultipleCallbacks();
     $this->Mediator->addSubscriber($EventSubscriber);
     $this->Mediator->remSubscriber($EventSubscriber);
     $this->assertFalse($this->Mediator->isRegistered('pre.foo'), 'Event name pre.foo should have no subscribers');
 }