예제 #1
0
 /**
  * @covers ::offsetUnset
  */
 public function test_offsetUnset()
 {
     $Subscriber = new MockEventSubscriber2();
     $this->Container->append($Subscriber);
     $this->Container->append($Subscriber);
     $this->assertCount(2, $this->Container, 'SubscriberContainer::offsetSet() Failed to accept subscribers');
     unset($this->Container[0]);
     $this->assertCount(1, $this->Container, 'SubscriberContainer::offsetSet() Failed to accept subscribers');
     unset($this->Container[1]);
     $this->assertFalse($this->Mediator->isRegistered('pre.foo'), 'SubscriberContainer::offsetUnset() Failed to unsubscribe events');
     # Invalid arguments
     unset($this->Container[100]);
 }
예제 #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');
 }