From b24bbbc1507a0648c74b16fcf03e059562db3759 Mon Sep 17 00:00:00 2001
From: Dave Mc Nicoll <dave.mcnicoll@cslsj.qc.ca>
Date: Fri, 1 Nov 2024 16:44:52 -0400
Subject: [PATCH] - Fixed a bug where optional routes were badly parsed

---
 src/Extension/UrlExtension.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/Extension/UrlExtension.php b/src/Extension/UrlExtension.php
index b427a45..a96b761 100644
--- a/src/Extension/UrlExtension.php
+++ b/src/Extension/UrlExtension.php
@@ -287,7 +287,7 @@ PATTERN;
                     if ($default ?? false) {
                         $value = $default;
                     }
-                    elseif ( str_contains($route, "[{$matches[0][0]}]") === false && $this->enforceExistingArguments) {
+                    elseif ( ! str_contains($route, "[{$matches[0][0]}]") && ! str_contains($route, "[/{$matches[0][0]}]") && $this->enforceExistingArguments) {
                         throw new \RuntimeException(sprintf("Error while preparing route %s : could not match variable '%s' into given arguments ( %s ) from %s::%s", $route, $variable, json_encode($arguments), $routeParam['class'], $routeParam['classMethod']));
                     }
                 }