Skip to content
  • Oliver Hader's avatar
    [BUGFIX] Ensure only empty route requirements for aspects are defined · 99bc093a
    Oliver Hader authored and Oliver Hader's avatar Oliver Hader committed
    
    
    Overriding route requirements with `.+` allows to have slashes in route
    parameters. This is different to Symfony's default behavior not allowing
    slashes here at all.
    
    However, when having multiple route parameters it can lead to resolving
    false-positive routes like shown in the following example:
    
        routePath: '{first}/{second}'
        URI: https://example.com/first/second/third
        resolves to parameters
        + first: 'first/second'
        + second: 'third'
    
    This change passes existing TYPO3 route `requirements` and uses pattern
    `.+` only for those parameters not having a definition - both applies to
    parameters using `aspects` only.
    
    Besides that tests in `EnhancerLinkGeneratorTest` mixed internal argument
    values with URL parameters (`100` <=> `hundred`) are were "wrong" before.
    
    Resolves: #91246
    Releases: master, 10.4, 9.5
    Change-Id: Ic1fe15790cc16dd52c624cd3be9ed060ae9b9d69
    Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64843
    Tested-by: default avatarTYPO3com <noreply@typo3.com>
    Tested-by: default avatarOliver Hader <oliver.hader@typo3.org>
    Reviewed-by: default avatarOliver Hader <oliver.hader@typo3.org>
    99bc093a