2 declare(strict_types = 1);
21 use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\InternalRequest;
22 use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
33 'core',
'frontend',
'seo'
40 'typo3/sysext/core/Tests/Functional/Fixtures/Frontend/AdditionalConfiguration.php' =>
'typo3conf/AdditionalConfiguration.php',
43 protected function setUp()
46 $this->importDataSet(
'EXT:frontend/Tests/Functional/Fixtures/pages-title-tag.xml');
47 $this->setUpFrontendRootPage(
49 [
'EXT:frontend/Tests/Functional/Rendering/Fixtures/TitleTagRenderingTest.typoscript']
65 'assertRegExp' =>
'#<title>Site Title: Root 1000</title>#',
66 'assertNotRegExp' =>
'',
74 'assertRegExp' =>
'#<title>Site Title: SEO Root 1001</title>#',
75 'assertNotRegExp' =>
'',
84 'assertRegExp' =>
'#<title>Site Title</title>#',
85 'assertNotRegExp' =>
'',
94 'assertRegExp' =>
'#<title>Site Title</title>#',
95 'assertNotRegExp' =>
'',
104 'assertRegExp' =>
'',
105 'assertNotRegExp' =>
'#<title>.*</title>#',
114 'assertRegExp' =>
'',
115 'assertNotRegExp' =>
'#<title>.*</title>#',
125 'assertRegExp' =>
'#<title>Header Data Title</title>#',
126 'assertNotRegExp' =>
'',
136 'assertRegExp' =>
'#<title>Header Data Title</title>#',
137 'assertNotRegExp' =>
'',
146 'assertRegExp' =>
'#<title>SITE TITLE: ROOT 1000</title>#',
147 'assertNotRegExp' =>
'',
161 $response = $this->executeFrontendRequest(
162 (
new InternalRequest())->withQueryParameters([
163 'id' => (
int)$pageConfig[
'pageId'],
164 'noPageTitle' => (
int)$pageConfig[
'noPageTitle'],
165 'headerData' => (
int)$pageConfig[
'headerData'],
166 'pageTitleTS' => (
int)$pageConfig[
'pageTitleTS']
169 $content = (string)$response->getBody();
170 if ($expectations[
'assertRegExp']) {
171 $this->assertRegExp($expectations[
'assertRegExp'], $content);
173 if ($expectations[
'assertNotRegExp']) {
174 $this->assertNotRegExp($expectations[
'assertNotRegExp'], $content);
186 $connection = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable(
'sys_template');
188 $template = $connection->select([
'uid',
'sitetitle'],
'sys_template', [
'pid' => $pageId,
'root' => 1])->fetch();
189 if (empty($template)) {
190 $this->fail(
'Cannot find root template on page with id: "' . $pageId .
'"');
192 $updateFields[
'sitetitle'] = $siteTitle;
196 [
'uid' => $template[
'uid']]