diff --git a/Event/EventManager.php b/Event/EventManager.php index d2aab8c11..8f86b7181 100644 --- a/Event/EventManager.php +++ b/Event/EventManager.php @@ -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); } /** diff --git a/tests/Event/EventManagerTest.php b/tests/Event/EventManagerTest.php index 8fc996704..70c5dfd3d 100644 --- a/tests/Event/EventManagerTest.php +++ b/tests/Event/EventManagerTest.php @@ -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());