2525use TYPO3 \CMS \Core \EventDispatcher \EventDispatcher ;
2626use TYPO3 \CMS \Core \EventDispatcher \ListenerProvider ;
2727use TYPO3 \CMS \Core \Http \ServerRequest ;
28+ use TYPO3 \CMS \Core \Http \Uri ;
2829use 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 ;
2933use TYPO3 \CMS \Core \Utility \GeneralUtility ;
3034use TYPO3 \CMS \Frontend \ContentObject \ContentObjectRenderer ;
3135use TYPO3 \CMS \Frontend \Controller \TypoScriptFrontendController ;
@@ -128,6 +132,19 @@ public function testModifiedPageTitle(): void
128132
129133 $ request = $ this ->prophesize (ServerRequestInterface::class);
130134 $ 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+
131148 $ controller = $ this ->prophesize (TypoScriptFrontendController::class);
132149 $ controller ->content = json_encode (['meta ' => ['title ' => 'test before event ' ], 'seo ' => ['title ' => 'test before event ' ]]);
133150 $ controller ->cObj = $ this ->prophesize (ContentObjectRenderer::class)->reveal ();
@@ -137,7 +154,7 @@ public function testModifiedPageTitle(): void
137154
138155 $ listener ($ event );
139156
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 );
141158 }
142159
143160 public function testHreflangs (): void
@@ -158,6 +175,19 @@ public function testHreflangs(): void
158175
159176 $ request = $ this ->prophesize (ServerRequestInterface::class);
160177 $ 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+
161191 $ GLOBALS ['TYPO3_REQUEST ' ] = $ request ->reveal ();
162192 $ controller = $ this ->prophesize (TypoScriptFrontendController::class);
163193 $ controller ->content = json_encode (['meta ' => ['title ' => 'test before event ' ], 'seo ' => ['title ' => 'test before event ' ]]);
@@ -184,6 +214,6 @@ public function handle(): void {}
184214 ['rel ' => 'alternate ' , 'hreflang ' => 'pl-PL ' , 'href ' => 'https://example.com/pl ' ],
185215 ['rel ' => 'alternate ' , 'hreflang ' => 'en-US ' , 'href ' => 'https://example.com/us ' ],
186216 ['rel ' => 'alternate ' , 'hreflang ' => 'en-UK ' , 'href ' => 'https://example.com/uk ' ],
187- ]]]), $ event ->getController ()->content );
217+ ], ' htmlAttrs ' => [ ' lang ' => ' en ' , ' dir ' => null ] ]]), $ event ->getController ()->content );
188218 }
189219}
0 commit comments