subject = $this->getObjectForTrait(EventDispatcherTrait::class); } /** * testIsInitiallyEmpty * * @return void */ public function testIsInitiallyEmpty() { $this->assertAttributeEmpty('_eventManager', $this->subject); } /** * testEventManager * * @group deprecated * @return void */ public function testEventManager() { $this->deprecated(function () { $eventManager = new EventManager(); $this->subject->eventManager($eventManager); $this->assertSame($eventManager, $this->subject->eventManager()); }); } /** * testGetEventManager * * @return void */ public function testGetEventManager() { $this->assertInstanceOf(EventManager::class, $this->subject->getEventManager()); } /** * testSetEventManager * * @return void */ public function testSetEventManager() { $eventManager = new EventManager(); $this->subject->setEventManager($eventManager); $this->assertSame($eventManager, $this->subject->getEventManager()); } /** * testDispatchEvent * * @return void */ public function testDispatchEvent() { $event = $this->subject->dispatchEvent('some.event', ['foo' => 'bar']); $this->assertInstanceOf(Event::class, $event); $this->assertSame($this->subject, $event->getSubject()); $this->assertEquals('some.event', $event->getName()); $this->assertEquals(['foo' => 'bar'], $event->getData()); } }