/** * @test */ public function buildFrontendUriDoesNotStripLeadingSlashesFromRelativeUris() { $this->mockContentObject->expects($this->once())->method('typoLink_URL')->will($this->returnValue('/relative/uri')); $expectedResult = '/relative/uri'; $actualResult = $this->uriBuilder->buildFrontendUri(); $this->assertSame($expectedResult, $actualResult); }
/** * Returns a frontend URI independently of current context, with or without extbase, and with or without TSFE * @param string $actionName * @param array $controllerArguments * @param string $controllerName * @param string $extensionName * @param string $pluginName * @return string absolute URI */ public static function buildFrontendUri($actionName, array $controllerArguments, $controllerName, $extensionName = 'newsletter', $pluginName = 'p') { if (!self::$uriBuilder) { self::$uriBuilder = self::buildUriBuilder($extensionName, $pluginName); } $controllerArguments['action'] = $actionName; $controllerArguments['controller'] = $controllerName; $objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('Tx_Extbase_Object_ObjectManager'); $extensionService = $objectManager->get('Tx_Extbase_Service_ExtensionService'); $pluginNamespace = $extensionService->getPluginNamespace($extensionName, $pluginName); $arguments = array($pluginNamespace => $controllerArguments); self::$uriBuilder->reset()->setUseCacheHash(FALSE)->setCreateAbsoluteUri(TRUE)->setArguments($arguments); return self::$uriBuilder->buildFrontendUri() . '&type=1342671779'; }