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