ImboUnitTest\EventListener\StatsAccessTest::testHasHigherPriorityThanTheStatsResource PHP Метод

testHasHigherPriorityThanTheStatsResource() публичный Метод

См. также: https://github.com/imbo/imbo/issues/251 This test is best run with "In the Ghetto" blasting on the stereo
    public function testHasHigherPriorityThanTheStatsResource()
    {
        $statsAccess = new StatsAccess();
        $statsResource = new StatsResource();
        $eventManager = new EventManager();
        $eventManager->addEventHandler('statsAccess', $statsAccess);
        $eventManager->addCallbacks('statsAccess', StatsAccess::getSubscribedEvents());
        $eventManager->addEventHandler('statsResource', $statsResource);
        $eventManager->addCallbacks('statsResource', StatsResource::getSubscribedEvents());
        $callbacks = new ReflectionProperty($eventManager, 'callbacks');
        $callbacks->setAccessible(true);
        $handlersForGet = $callbacks->getValue($eventManager)['stats.get'];
        $handlersForHead = $callbacks->getValue($eventManager)['stats.head'];
        $this->assertSame($statsAccess, $eventManager->getHandlerInstance($handlersForGet->extract()['handler']));
        $this->assertSame($statsResource, $eventManager->getHandlerInstance($handlersForGet->extract()['handler']));
        $this->assertSame($statsAccess, $eventManager->getHandlerInstance($handlersForHead->extract()['handler']));
        $this->assertSame($statsResource, $eventManager->getHandlerInstance($handlersForHead->extract()['handler']));
    }