/** * Test if default file format works * * @test * @return void */ public function viewHelperReturnsCorrectJs() { $newsItem = new Tx_News_Domain_Model_News(); $newsItem->setTitle('fobar'); $language = 'en'; $viewHelper = new Tx_News_ViewHelpers_Social_DisqusViewHelper(); $settingsService = $this->getAccessibleMock('Tx_News_Service_SettingsService'); $settingsService->expects($this->any())->method('getSettings')->will($this->returnValue(array('disqusLocale' => $language))); $viewHelper->injectSettingsService($settingsService); $actualResult = $viewHelper->render($newsItem, 'abcdef', 'http://typo3.org/dummy/fobar.html'); $expectedCode = '<script type="text/javascript"> var disqus_shortname = ' . \TYPO3\CMS\Core\Utility\GeneralUtility::quoteJSvalue('abcdef', TRUE) . '; var disqus_identifier = ' . \TYPO3\CMS\Core\Utility\GeneralUtility::quoteJSvalue('news_' . $newUid, TRUE) . '; var disqus_url = ' . \TYPO3\CMS\Core\Utility\GeneralUtility::quoteJSvalue('http://typo3.org/dummy/fobar.html') . '; var disqus_title = ' . \TYPO3\CMS\Core\Utility\GeneralUtility::quoteJSvalue('fobar', TRUE) . '; var disqus_config = function () { this.language = ' . \TYPO3\CMS\Core\Utility\GeneralUtility::quoteJSvalue($language) . '; }; (function() { var dsq = document.createElement("script"); dsq.type = "text/javascript"; dsq.async = true; dsq.src = "http://" + disqus_shortname + ".disqus.com/embed.js"; (document.getElementsByTagName("head")[0] || document.getElementsByTagName("body")[0]).appendChild(dsq); })(); </script>'; $this->assertEquals($expectedCode, $actualResult); }
/** * Test if default file format works * * @test * @return void */ public function viewHelperReturnsCorrectJs() { $newsRepository = $this->objectManager->get('Tx_News_Domain_Repository_NewsRepository'); $newUid = $this->testingFramework->createRecord('tx_news_domain_model_news', array('pid' => 98, 'title' => 'fobar')); $newsItem = $newsRepository->findByUid($newUid); $language = 'en'; $viewHelper = new Tx_News_ViewHelpers_Social_DisqusViewHelper(); $settingsService = $this->getAccessibleMock('Tx_News_Service_SettingsService'); $settingsService->expects($this->any())->method('getSettings')->will($this->returnValue(array('disqusLang' => $language))); $viewHelper->injectSettingsService($settingsService); $actualResult = $viewHelper->render($newsItem, 'abcdef', 'http://typo3.org/dummy/fobar.html'); $expectedCode = '<script type="text/javascript"> var disqus_shortname = ' . t3lib_div::quoteJSvalue('abcdef', TRUE) . '; var disqus_identifier = ' . t3lib_div::quoteJSvalue('news_' . $newUid, TRUE) . '; var disqus_url = ' . t3lib_div::quoteJSvalue('http://typo3.org/dummy/fobar.html') . '; var disqus_title = ' . t3lib_div::quoteJSvalue('fobar', TRUE) . '; var disqus_config = function () { this.language = ' . t3lib_div::quoteJSvalue($language) . '; }; (function() { var dsq = document.createElement("script"); dsq.type = "text/javascript"; dsq.async = true; dsq.src = "http://" + disqus_shortname + ".disqus.com/embed.js"; (document.getElementsByTagName("head")[0] || document.getElementsByTagName("body")[0]).appendChild(dsq); })(); </script>'; $this->assertEquals($expectedCode, $actualResult); }