for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace MyTester;
use MyTester\Attributes\TestSuite;
/**
* Test suite for class TesterEventDispatcher
*
* @author Jakub Konečný
*/
#[TestSuite("TesterEventDispatcher")]
final class TesterEventDispatcherTest extends TestCase
{
public function testDispatch(): void
$event = new Events\TestsStartedEvent([]);
$var = 0;
$listenerProvider = new TesterListenerProvider([]);
$listenerProvider->registerListener($event::class, function () use (&$var) {
$var++;
});
$eventDispatcher = new TesterEventDispatcher($listenerProvider);
$this->assertSame($event, $eventDispatcher->dispatch($event));
$this->assertSame(1, $var);
$event = new Events\TestStoppableEvent();
$listenerProvider->registerListener($event::class, function (Events\TestStoppableEvent $event) use (&$var) {
$event->stopped = true;
$this->assertTrue($event->stopped);
}