From b5ba08f9df9293f7bfdbf70470a2e622e9c5db49 Mon Sep 17 00:00:00 2001 From: Simon Praetorius Date: Sun, 14 Jun 2026 14:00:48 +0200 Subject: [PATCH] [TASK] Add test case for stringable component argument (#1379) See #1378 --- tests/Functional/Core/Component/ComponentRenderingTest.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/Functional/Core/Component/ComponentRenderingTest.php b/tests/Functional/Core/Component/ComponentRenderingTest.php index 8bb05ee06..ba827aabc 100644 --- a/tests/Functional/Core/Component/ComponentRenderingTest.php +++ b/tests/Functional/Core/Component/ComponentRenderingTest.php @@ -12,6 +12,7 @@ use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\Attributes\Test; use TYPO3Fluid\Fluid\Tests\Functional\AbstractFunctionalTestCase; +use TYPO3Fluid\Fluid\Tests\Functional\Fixtures\Various\UserWithToString; use TYPO3Fluid\Fluid\View\TemplateView; final class ComponentRenderingTest extends AbstractFunctionalTestCase @@ -21,6 +22,7 @@ public static function basicComponentCollectionDataProvider(): iterable return [ // parameters and escaping 'defined argument' => ['', "\n\n\nMy test component TITLE\n"], + 'defined argument, stringable input' => ['', "\n\n\nMy test component STRINGABLE\n"], 'defined argument with inline HTML escaped correctly' => ['', "\n\n\nMy test component <b>TITLE</b>\n"], 'defined argument with predefined HTML variable escaped correctly' => ['', "\n\n\nMy test component <script>alert('This JavaScript should not be executed by the browser')</script>\n"], 'defined argument with HTML variable escaped correctly' => ['TITLE', "\n\n\nMy test component <b>TITLE</b>\n"], @@ -72,6 +74,7 @@ public function basicComponentCollection(string $source, string $expected): void $view->getRenderingContext()->setCache(self::$cache); $view->getRenderingContext()->getViewHelperResolver()->addNamespace('my', 'TYPO3Fluid\Fluid\Tests\Functional\Fixtures\ComponentCollections\BasicComponentCollection'); $view->getRenderingContext()->getVariableProvider()->add('unsafeInput', ""); + $view->getRenderingContext()->getVariableProvider()->add('stringableObject', new UserWithToString('STRINGABLE')); $view->getRenderingContext()->getTemplatePaths()->setTemplateSource($source); self::assertSame($expected, $view->render(), 'uncached'); @@ -79,6 +82,7 @@ public function basicComponentCollection(string $source, string $expected): void $view->getRenderingContext()->setCache(self::$cache); $view->getRenderingContext()->getViewHelperResolver()->addNamespace('my', 'TYPO3Fluid\Fluid\Tests\Functional\Fixtures\ComponentCollections\BasicComponentCollection'); $view->getRenderingContext()->getVariableProvider()->add('unsafeInput', ""); + $view->getRenderingContext()->getVariableProvider()->add('stringableObject', new UserWithToString('STRINGABLE')); $view->getRenderingContext()->getTemplatePaths()->setTemplateSource($source); self::assertSame($expected, $view->render(), 'cached'); }