Пример #1
0
 public function testRemoveAll()
 {
     $closure = function () {
     };
     $closure1 = function () {
     };
     $this->event->on('test', $closure);
     $this->event->on('test', $closure1);
     $this->event->on('test1', $closure1);
     $this->assertEquals(array($closure, $closure1), $this->event->listeners('test'));
     $this->assertEquals(array($closure1), $this->event->listeners('test1'));
     $this->event->removeAllListeners('test');
     $this->assertEquals(array(), $this->event->listeners('test'));
     $this->event->removeAllListeners();
     $this->assertEquals(array(), $this->event->listeners('test1'));
 }
Пример #2
0
 function testRemoveAllListeners()
 {
     $self = $this;
     $ok = false;
     $bad = false;
     $eventEmitter = new EventEmitter();
     $listener1 = function () use(&$bad) {
         $bad = true;
     };
     $listener2 = function () use(&$bad) {
         $bad = true;
     };
     $eventEmitter->on('test', $listener1);
     $eventEmitter->on('test', $listener2);
     $eventEmitter->removeAllListeners('test');
     $eventEmitter->emit('test');
     $this->assertFalse($bad);
 }
 function testUnregisterAllListenersForMultipleEvents()
 {
     $a = 0;
     $b = 0;
     $ee = new EventEmitter();
     $ee->on(['foo', 'bar', 'qux'], function () use(&$a) {
         $a++;
     });
     $ee->on(['bar', 'qux'], function () use(&$b) {
         $b++;
     });
     $ee->removeAllListeners(['foo', 'bar']);
     $ee->emit('foo');
     $ee->emit('bar');
     $ee->emit('qux');
     $this->assertEquals(1, $a);
     $this->assertEquals(1, $b);
 }
Пример #4
0
 function testRemoveAllListenersNoArg()
 {
     $result = false;
     $callBack = function () use(&$result) {
         $result = true;
     };
     $ee = new EventEmitter();
     $ee->on('foo', $callBack);
     $ee->emit('foo');
     $this->assertTrue($result);
     $result = false;
     $ee->removeAllListeners();
     $ee->emit('foo');
     $this->assertFalse($result);
 }