diff --git a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/AbstractEnhancerLinkGeneratorTestCase.php b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/AbstractEnhancerLinkGeneratorTestCase.php index ad9aaef86bcc5a482f1cf4f9dac5862ec904e5e8..3e7f174bd42bf75ef4fbdb926ba9d6d30ce6dfac 100644 --- a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/AbstractEnhancerLinkGeneratorTestCase.php +++ b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/AbstractEnhancerLinkGeneratorTestCase.php @@ -109,7 +109,13 @@ abstract class AbstractEnhancerLinkGeneratorTestCase extends AbstractTestCase self::assertStringStartsWith($expectation, (string)$response->getBody()); } - protected function assertGeneratedUriEquals(TestSet $testSet): void + /** + * In case non-`$strict` assertions are performed (using `assertStringStartsWith`), the corresponding + * expectations need to be specific (e.g. ending with `?cHash=` to assert that part of the URI). + * + * @param bool $strict Whether to use `assertSame` instead of `assertStringStartsWith` + */ + protected function assertGeneratedUriEquals(TestSet $testSet, bool $strict = true): void { $builder = Builder::create(); $enhancerConfiguration = $builder->compileEnhancerConfiguration($testSet); @@ -122,6 +128,9 @@ abstract class AbstractEnhancerLinkGeneratorTestCase extends AbstractTestCase $this->mergeSiteConfiguration('acme-com', [ 'routeEnhancers' => ['Enhancer' => $enhancerConfiguration], ]); + $this->mergeSiteConfiguration('archive-acme-com', [ + 'routeEnhancers' => ['Enhancer' => $enhancerConfiguration], + ]); $response = $this->executeFrontendSubRequest( (new InternalRequest('https://acme.us/')) @@ -136,6 +145,11 @@ abstract class AbstractEnhancerLinkGeneratorTestCase extends AbstractTestCase ]) ); - self::assertStringStartsWith($expectation, (string)$response->getBody()); + $actual = (string)$response->getBody(); + if ($strict) { + self::assertSame($expectation, $actual); + } else { + self::assertStringStartsWith($expectation, $actual); + } } } diff --git a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/LocaleModifierTest.php b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/LocaleModifierTest.php index 93dceb74a01059ed4844b462693e469dd32c8663..a35306c53f88601ebd781c4d0d935d7c2745de36 100644 --- a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/LocaleModifierTest.php +++ b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/LocaleModifierTest.php @@ -27,7 +27,6 @@ use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\TestSet; use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableItem; use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\Variables; use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableValue; -use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\InternalRequest; final class LocaleModifierTest extends AbstractEnhancerLinkGeneratorTestCase { @@ -107,36 +106,7 @@ final class LocaleModifierTest extends AbstractEnhancerLinkGeneratorTestCase #[Test] public function localeModifierIsApplied(TestSet $testSet): void { - $builder = Builder::create(); - $enhancerConfiguration = $builder->compileEnhancerConfiguration($testSet); - $additionalParameters = $builder->compileGenerateParameters($testSet); - /** @var LanguageContext $languageContext */ - $languageContext = $testSet->getSingleApplicable(LanguageContext::class); - $targetLanguageId = $languageContext->getLanguageId(); - $expectation = $builder->compileUrl($testSet); - - $this->mergeSiteConfiguration('acme-com', [ - 'routeEnhancers' => ['Enhancer' => $enhancerConfiguration], - ]); - $this->mergeSiteConfiguration('archive-acme-com', [ - 'routeEnhancers' => ['Enhancer' => $enhancerConfiguration], - ]); - - $response = $this->executeFrontendSubRequest( - (new InternalRequest('https://acme.us/')) - ->withPageId(1100) - ->withInstructions([ - $this->createTypoLinkUrlInstruction([ - 'parameter' => $testSet->getTargetPageId(), - 'language' => $targetLanguageId, - 'additionalParams' => $additionalParameters, - 'forceAbsoluteUrl' => 1, - ]), - ]) - ); - - $body = (string)$response->getBody(); - self::assertStringStartsWith($expectation, $body); + $this->assertGeneratedUriEquals($testSet, false); } /** diff --git a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/PersistedAliasMapperTest.php b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/PersistedAliasMapperTest.php index cf0953532295df3bc843ea7188dc8effbe61eb80..74aa3bcbd642c1122225e677d79003115d39f088 100644 --- a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/PersistedAliasMapperTest.php +++ b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/PersistedAliasMapperTest.php @@ -27,7 +27,6 @@ use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\TestSet; use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableItem; use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\Variables; use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableValue; -use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\InternalRequest; final class PersistedAliasMapperTest extends AbstractEnhancerLinkGeneratorTestCase { @@ -85,32 +84,7 @@ final class PersistedAliasMapperTest extends AbstractEnhancerLinkGeneratorTestCa #[Test] public function persistedAliasMapperIsApplied(TestSet $testSet): void { - $builder = Builder::create(); - $enhancerConfiguration = $builder->compileEnhancerConfiguration($testSet); - $additionalParameters = $builder->compileGenerateParameters($testSet); - /** @var LanguageContext $languageContext */ - $languageContext = $testSet->getSingleApplicable(LanguageContext::class); - $targetLanguageId = $languageContext->getLanguageId(); - $expectation = $builder->compileUrl($testSet); - - $this->mergeSiteConfiguration('acme-com', [ - 'routeEnhancers' => ['Enhancer' => $enhancerConfiguration], - ]); - - $response = $this->executeFrontendSubRequest( - (new InternalRequest('https://acme.us/')) - ->withPageId(1100) - ->withInstructions([ - $this->createTypoLinkUrlInstruction([ - 'parameter' => 1100, - 'language' => $targetLanguageId, - 'additionalParams' => $additionalParameters, - 'forceAbsoluteUrl' => 1, - ]), - ]) - ); - - self::assertSame($expectation, (string)$response->getBody()); + $this->assertGeneratedUriEquals($testSet); } /** diff --git a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/PersistedPatternMapperTest.php b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/PersistedPatternMapperTest.php index 6fe7e38f1ca2bd932f91e91c9c175ba77c4bbb5d..4089ddd4813dc9c379ee729258192bb04dd966f5 100644 --- a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/PersistedPatternMapperTest.php +++ b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/PersistedPatternMapperTest.php @@ -27,7 +27,6 @@ use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\TestSet; use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableItem; use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\Variables; use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableValue; -use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\InternalRequest; final class PersistedPatternMapperTest extends AbstractEnhancerLinkGeneratorTestCase { @@ -103,35 +102,7 @@ final class PersistedPatternMapperTest extends AbstractEnhancerLinkGeneratorTest #[Test] public function persistedPatternMapperIsApplied(TestSet $testSet): void { - $builder = Builder::create(); - $enhancerConfiguration = $builder->compileEnhancerConfiguration($testSet); - $additionalParameters = $builder->compileGenerateParameters($testSet); - /** @var LanguageContext $languageContext */ - $languageContext = $testSet->getSingleApplicable(LanguageContext::class); - $targetLanguageId = $languageContext->getLanguageId(); - $expectation = $builder->compileUrl($testSet); - - $this->mergeSiteConfiguration('acme-com', [ - 'routeEnhancers' => ['Enhancer' => $enhancerConfiguration], - ]); - $this->mergeSiteConfiguration('archive-acme-com', [ - 'routeEnhancers' => ['Enhancer' => $enhancerConfiguration], - ]); - - $response = $this->executeFrontendSubRequest( - (new InternalRequest('https://acme.us/')) - ->withPageId(1100) - ->withInstructions([ - $this->createTypoLinkUrlInstruction([ - 'parameter' => $testSet->getTargetPageId(), - 'language' => $targetLanguageId, - 'additionalParams' => $additionalParameters, - 'forceAbsoluteUrl' => 1, - ]), - ]) - ); - - self::assertSame($expectation, (string)$response->getBody()); + $this->assertGeneratedUriEquals($testSet); } /** diff --git a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/RouteTest.php b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/RouteTest.php index aeea6ade711839eb4ae7876fbd89fb8eec1eee66..dc1c080f188869a8f0c01e4d9c2a4fa947002349 100644 --- a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/RouteTest.php +++ b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/RouteTest.php @@ -139,7 +139,7 @@ final class RouteTest extends AbstractEnhancerLinkGeneratorTestCase ->withTargetPageId(1100) ->withUrl( VariableValue::create( - 'https://acme.us/welcome/enhance/hundred/20[[pathSuffix]]', + 'https://acme.us/welcome/enhance/hundred/20[[pathSuffix]]?cHash=', Variables::create(['pathSuffix' => '']) ) ), @@ -148,7 +148,7 @@ final class RouteTest extends AbstractEnhancerLinkGeneratorTestCase ->withTargetPageId(1100) ->withUrl( VariableValue::create( - 'https://acme.fr/bienvenue/enhance/cent/20[[pathSuffix]]', + 'https://acme.fr/bienvenue/enhance/cent/20[[pathSuffix]]?cHash=', Variables::create(['pathSuffix' => '']) ) ) @@ -211,7 +211,7 @@ final class RouteTest extends AbstractEnhancerLinkGeneratorTestCase #[Test] public function routeDefaultsForMultipleParametersAreConsidered(TestSet $testSet): void { - $this->assertGeneratedUriEquals($testSet); + $this->assertGeneratedUriEquals($testSet, false); } public static function routeRequirementsHavingAspectsAreConsideredDataProvider(): array diff --git a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/StaticRangeMapperTest.php b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/StaticRangeMapperTest.php index 8254605d000a74ed058583d42d0c8a23e90ba52b..dcebee001d27839110d54e45e8e0e14ec770fce7 100644 --- a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/StaticRangeMapperTest.php +++ b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/StaticRangeMapperTest.php @@ -28,7 +28,6 @@ use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableI use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\Variables; use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariablesContext; use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableValue; -use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\InternalRequest; final class StaticRangeMapperTest extends AbstractEnhancerLinkGeneratorTestCase { @@ -95,32 +94,7 @@ final class StaticRangeMapperTest extends AbstractEnhancerLinkGeneratorTestCase #[Test] public function staticRangeMapperIsApplied(TestSet $testSet): void { - $builder = Builder::create(); - $enhancerConfiguration = $builder->compileEnhancerConfiguration($testSet); - $additionalParameters = $builder->compileGenerateParameters($testSet); - /** @var LanguageContext $languageContext */ - $languageContext = $testSet->getSingleApplicable(LanguageContext::class); - $targetLanguageId = $languageContext->getLanguageId(); - $expectation = $builder->compileUrl($testSet); - - $this->mergeSiteConfiguration('acme-com', [ - 'routeEnhancers' => ['Enhancer' => $enhancerConfiguration], - ]); - - $response = $this->executeFrontendSubRequest( - (new InternalRequest('https://acme.us/')) - ->withPageId(1100) - ->withInstructions([ - $this->createTypoLinkUrlInstruction([ - 'parameter' => $testSet->getTargetPageId(), - 'language' => $targetLanguageId, - 'additionalParams' => $additionalParameters, - 'forceAbsoluteUrl' => 1, - ]), - ]) - ); - - self::assertStringStartsWith($expectation, (string)$response->getBody()); + $this->assertGeneratedUriEquals($testSet); } /** diff --git a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/StaticValueMapperTest.php b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/StaticValueMapperTest.php index cefb74552b753cacf58011c5cdb48246fb94a9a8..23a5f01c4bca1c3827b72005adff17dce2c441fc 100644 --- a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/StaticValueMapperTest.php +++ b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/StaticValueMapperTest.php @@ -27,7 +27,6 @@ use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\TestSet; use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableItem; use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\Variables; use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableValue; -use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\InternalRequest; final class StaticValueMapperTest extends AbstractEnhancerLinkGeneratorTestCase { @@ -111,35 +110,7 @@ final class StaticValueMapperTest extends AbstractEnhancerLinkGeneratorTestCase #[Test] public function staticValueMapperIsApplied(TestSet $testSet): void { - $builder = Builder::create(); - $enhancerConfiguration = $builder->compileEnhancerConfiguration($testSet); - $additionalParameters = $builder->compileGenerateParameters($testSet); - /** @var LanguageContext $languageContext */ - $languageContext = $testSet->getSingleApplicable(LanguageContext::class); - $targetLanguageId = $languageContext->getLanguageId(); - $expectation = $builder->compileUrl($testSet); - - $this->mergeSiteConfiguration('acme-com', [ - 'routeEnhancers' => ['Enhancer' => $enhancerConfiguration], - ]); - $this->mergeSiteConfiguration('archive-acme-com', [ - 'routeEnhancers' => ['Enhancer' => $enhancerConfiguration], - ]); - - $response = $this->executeFrontendSubRequest( - (new InternalRequest('https://acme.us/')) - ->withPageId(1100) - ->withInstructions([ - $this->createTypoLinkUrlInstruction([ - 'parameter' => $testSet->getTargetPageId(), - 'language' => $targetLanguageId, - 'additionalParams' => $additionalParameters, - 'forceAbsoluteUrl' => 1, - ]), - ]) - ); - - self::assertStringStartsWith($expectation, (string)$response->getBody()); + $this->assertGeneratedUriEquals($testSet); } /**