/** * @param string $controllerName * @return array */ protected function createDummyRequestAndResponseForFluxController($controllerName = 'Content') { /** @var Request $request */ $request = $this->objectManager->get('TYPO3\\CMS\\Extbase\\Mvc\\Web\\Request'); $request->setControllerExtensionName('Flux'); $request->setControllerActionName($this->defaultAction); $request->setControllerName($controllerName); $request->setControllerObjectName(ResolveUtility::resolveFluxControllerClassNameByExtensionKeyAndAction($this->extensionName, $this->defaultAction, $controllerName)); $request->setFormat('html'); /** @var Response $response */ $response = $this->objectManager->get('TYPO3\\CMS\\Extbase\\Mvc\\Web\\Response'); return array($request, $response); }
/** * @param string $extensionName * @param string $controllerName * @param string $actionName * @return boolean */ protected function hasSubControllerActionOnForeignController($extensionName, $controllerName, $actionName) { $potentialControllerClassName = ResolveUtility::resolveFluxControllerClassNameByExtensionKeyAndAction($extensionName, $actionName, $controllerName); $isForeign = $extensionName !== $this->extensionName; $isValidController = class_exists($potentialControllerClassName); return TRUE === $isForeign && TRUE === $isValidController; }
/** * @test */ public function canDetectControllerClassPresenceFromExtensionKeyAndControllerTypeWithVendorNameWhenClassDoesNotExist() { $result = ResolveUtility::resolveFluxControllerClassNameByExtensionKeyAndAction('Void.NoName', 'render', 'Void'); $this->assertNull($result); }
/** * @test */ public function canDetectPresenceOfRegisteredCustomControllerForContent() { $this->performDummyRegistration(); $hasController = ResolveUtility::resolveFluxControllerClassNameByExtensionKeyAndAction('FluidTYPO3.Flux', 'render', 'Content'); $this->assertTrue(class_exists($hasController)); }