| Total Complexity | 7 | 
| Total Lines | 43 | 
| Duplicated Lines | 0 % | 
| Coverage | 100% | 
| Changes | 1 | ||
| Bugs | 0 | Features | 1 | 
| 1 | <?php  | 
            ||
| 8 | final class TesterListenerProvider implements ListenerProviderInterface  | 
            ||
| 9 | { | 
            ||
| 10 | /** @var ITesterExtension[] */  | 
            ||
| 11 | private array $extensions;  | 
            ||
| 12 | |||
| 13 | /**  | 
            ||
| 14 | * @var array<class-string, callable[]>  | 
            ||
| 
                                                                                                    
                         1 ignored issue 
                            –
                            show
                         | 
                |||
| 15 | */  | 
            ||
| 16 | private array $listeners = [];  | 
            ||
| 17 | |||
| 18 | /**  | 
            ||
| 19 | * @param ITesterExtension[] $extensions  | 
            ||
| 20 | */  | 
            ||
| 21 | public function __construct(array $extensions)  | 
            ||
| 22 |     { | 
            ||
| 23 | 1 | $this->extensions = $extensions;  | 
            |
| 24 | 1 | }  | 
            |
| 25 | |||
| 26 | /**  | 
            ||
| 27 | * @param class-string $className  | 
            ||
| 28 | */  | 
            ||
| 29 | public function registerListener(string $className, callable $callback): void  | 
            ||
| 30 |     { | 
            ||
| 31 | 1 |         if (!array_key_exists($className, $this->listeners)) { | 
            |
| 32 | 1 | $this->listeners[$className] = [];  | 
            |
| 33 | }  | 
            ||
| 34 | 1 | $this->listeners[$className][] = $callback;  | 
            |
| 35 | 1 | }  | 
            |
| 36 | |||
| 37 | public function getListenersForEvent(object $event): iterable  | 
            ||
| 51 | }  | 
            ||
| 52 | }  | 
            ||
| 53 |