25
25
use TYPO3 \CMS \Core \EventDispatcher \EventDispatcher ;
26
26
use TYPO3 \CMS \Core \EventDispatcher \ListenerProvider ;
27
27
use TYPO3 \CMS \Core \Http \ServerRequest ;
28
+ use TYPO3 \CMS \Core \Http \Uri ;
28
29
use TYPO3 \CMS \Core \MetaTag \MetaTagManagerRegistry ;
30
+ use TYPO3 \CMS \Core \Site \Entity \SiteLanguage ;
31
+ use TYPO3 \CMS \Core \TypoScript \AST \Node \RootNode ;
32
+ use TYPO3 \CMS \Core \TypoScript \FrontendTypoScript ;
29
33
use TYPO3 \CMS \Core \Utility \GeneralUtility ;
30
34
use TYPO3 \CMS \Frontend \ContentObject \ContentObjectRenderer ;
31
35
use TYPO3 \CMS \Frontend \Controller \TypoScriptFrontendController ;
@@ -128,6 +132,19 @@ public function testModifiedPageTitle(): void
128
132
129
133
$ request = $ this ->prophesize (ServerRequestInterface::class);
130
134
$ request ->getAttribute (Argument::is ('headless ' ))->willReturn (new Headless (HeadlessMode::FULL ));
135
+ $ request ->getAttribute (Argument::is ('language ' ))->willReturn (new SiteLanguage (
136
+ 0 ,
137
+ 'en ' ,
138
+ new Uri ('/en ' ),
139
+ []
140
+ ));
141
+
142
+ $ frontendTyposcript = new FrontendTypoScript (new RootNode (), [], [], []);
143
+ $ frontendTyposcript ->setSetupTree (new RootNode ());
144
+ $ frontendTyposcript ->setSetupArray ([]);
145
+
146
+ $ request ->getAttribute (Argument::is ('frontend.typoscript ' ))->willReturn ($ frontendTyposcript );
147
+
131
148
$ controller = $ this ->prophesize (TypoScriptFrontendController::class);
132
149
$ controller ->content = json_encode (['meta ' => ['title ' => 'test before event ' ], 'seo ' => ['title ' => 'test before event ' ]]);
133
150
$ controller ->cObj = $ this ->prophesize (ContentObjectRenderer::class)->reveal ();
@@ -137,7 +154,7 @@ public function testModifiedPageTitle(): void
137
154
138
155
$ listener ($ event );
139
156
140
- self ::assertSame (json_encode (['meta ' => ['title ' => 'test before event ' ], 'seo ' => ['title ' => 'Modified title via PageTitleProviderManager ' , 'meta ' => []]]), $ event ->getController ()->content );
157
+ self ::assertSame (json_encode (['meta ' => ['title ' => 'test before event ' ], 'seo ' => ['title ' => 'Modified title via PageTitleProviderManager ' , 'meta ' => [], ' htmlAttrs ' => [ ' lang ' => ' en ' , ' dir ' => null ] ]]), $ event ->getController ()->content );
141
158
}
142
159
143
160
public function testHreflangs (): void
@@ -158,6 +175,19 @@ public function testHreflangs(): void
158
175
159
176
$ request = $ this ->prophesize (ServerRequestInterface::class);
160
177
$ request ->getAttribute (Argument::is ('headless ' ))->willReturn (new Headless (HeadlessMode::FULL ));
178
+ $ request ->getAttribute (Argument::is ('language ' ))->willReturn (new SiteLanguage (
179
+ 0 ,
180
+ 'en ' ,
181
+ new Uri ('/en ' ),
182
+ []
183
+ ));
184
+
185
+ $ frontendTyposcript = new FrontendTypoScript (new RootNode (), [], [], []);
186
+ $ frontendTyposcript ->setSetupTree (new RootNode ());
187
+ $ frontendTyposcript ->setSetupArray ([]);
188
+
189
+ $ request ->getAttribute (Argument::is ('frontend.typoscript ' ))->willReturn ($ frontendTyposcript );
190
+
161
191
$ GLOBALS ['TYPO3_REQUEST ' ] = $ request ->reveal ();
162
192
$ controller = $ this ->prophesize (TypoScriptFrontendController::class);
163
193
$ controller ->content = json_encode (['meta ' => ['title ' => 'test before event ' ], 'seo ' => ['title ' => 'test before event ' ]]);
@@ -184,6 +214,6 @@ public function handle(): void {}
184
214
['rel ' => 'alternate ' , 'hreflang ' => 'pl-PL ' , 'href ' => 'https://example.com/pl ' ],
185
215
['rel ' => 'alternate ' , 'hreflang ' => 'en-US ' , 'href ' => 'https://example.com/us ' ],
186
216
['rel ' => 'alternate ' , 'hreflang ' => 'en-UK ' , 'href ' => 'https://example.com/uk ' ],
187
- ]]]), $ event ->getController ()->content );
217
+ ], ' htmlAttrs ' => [ ' lang ' => ' en ' , ' dir ' => null ] ]]), $ event ->getController ()->content );
188
218
}
189
219
}
0 commit comments