Fix bugs and make js tests same as php tests

This commit is contained in:
Dennis Eichhorn 2018-06-30 23:04:00 +02:00
parent 85dd4a6d97
commit 889d6e4469
2 changed files with 6 additions and 7 deletions

View File

@ -162,7 +162,7 @@ final class EventManager
*/ */
public function detach(string $group) : bool public function detach(string $group) : bool
{ {
return $this->detachCallback($group) || $this->detachGroup($group); return $this->detachCallback($group) | $this->detachGroup($group);
} }
/** /**

View File

@ -32,6 +32,7 @@ class EventManagerTest extends \PHPUnit\Framework\TestCase
$event = new EventManager(); $event = new EventManager();
self::assertEquals(0, $event->count()); self::assertEquals(0, $event->count());
self::assertFalse($event->trigger('invalid'));
} }
public function testBase() public function testBase()
@ -41,15 +42,12 @@ class EventManagerTest extends \PHPUnit\Framework\TestCase
self::assertTrue($event->attach('group', function() { return true; }, false, false)); self::assertTrue($event->attach('group', function() { return true; }, false, false));
self::assertFalse($event->attach('group', function() { return true; }, false, false)); self::assertFalse($event->attach('group', function() { return true; }, false, false));
self::assertEquals(1, $event->count()); self::assertEquals(1, $event->count());
self::assertTrue($event->detach('group'));
self::assertFalse($event->trigger('group'));
self::assertEquals(0, $event->count());
} }
public function testReset() public function testReset()
{ {
$event = new EventManager(); $event = new EventManager();
self::assertTrue($event->attach('group', function() { return true; }, false, true)); self::assertTrue($event->attach('group', function() { return true; }, false, true));
$event->addGroup('group', 'id1'); $event->addGroup('group', 'id1');
$event->addGroup('group', 'id2'); $event->addGroup('group', 'id2');
@ -58,17 +56,17 @@ class EventManagerTest extends \PHPUnit\Framework\TestCase
self::assertTrue($event->trigger('group', 'id2')); self::assertTrue($event->trigger('group', 'id2'));
self::assertFalse($event->trigger('group', 'id2')); self::assertFalse($event->trigger('group', 'id2'));
self::assertEquals(1, $event->count()); self::assertEquals(1, $event->count());
self::assertTrue($event->detach('group'));
} }
public function testDetach() public function testDetach()
{ {
$event = new EventManager(); $event = new EventManager();
self::assertTrue($event->attach('group', function() { return true; }, false, true)); self::assertTrue($event->attach('group', function() { return true; }, false, true));
$event->addGroup('group', 'id1'); $event->addGroup('group', 'id1');
$event->addGroup('group', 'id2'); $event->addGroup('group', 'id2');
self::assertEquals(1, $event->count());
self::assertTrue($event->detach('group')); self::assertTrue($event->detach('group'));
self::assertEquals(0, $event->count()); self::assertEquals(0, $event->count());
self::assertFalse($event->trigger('group')); self::assertFalse($event->trigger('group'));
@ -77,6 +75,7 @@ class EventManagerTest extends \PHPUnit\Framework\TestCase
public function testRemove() public function testRemove()
{ {
$event = new EventManager(); $event = new EventManager();
self::assertTrue($event->attach('group1', function() { return true; }, true, false)); self::assertTrue($event->attach('group1', function() { return true; }, true, false));
self::assertTrue($event->attach('group2', function() { return true; }, true, false)); self::assertTrue($event->attach('group2', function() { return true; }, true, false));
self::assertEquals(2, $event->count()); self::assertEquals(2, $event->count());