From 5ed4ba8ea34af84485dea815d4b6b620794d1168 Mon Sep 17 00:00:00 2001 From: Kevin Bond Date: Wed, 12 Oct 2022 13:22:51 -0400 Subject: [PATCH] fix: extraction with optional query (#24) * add failing test * add fix --- src/Rize/UriTemplate/Node/Expression.php | 2 +- test/Rize/UriTemplateTest.php | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Rize/UriTemplate/Node/Expression.php b/src/Rize/UriTemplate/Node/Expression.php index 2bfbdd0..892ccc6 100644 --- a/src/Rize/UriTemplate/Node/Expression.php +++ b/src/Rize/UriTemplate/Node/Expression.php @@ -104,7 +104,7 @@ public function match(Parser $parser, $uri, $params = array(), $strict = false) $op = $this->operator; // check expression operator first - if ($op->id && $uri[0] !== $op->id) { + if ($op->id && isset($uri[0]) && $uri[0] !== $op->id) { return array($uri, $params); } diff --git a/test/Rize/UriTemplateTest.php b/test/Rize/UriTemplateTest.php index 6193ab3..f431100 100644 --- a/test/Rize/UriTemplateTest.php +++ b/test/Rize/UriTemplateTest.php @@ -425,6 +425,14 @@ public function dataExtraction() 'number' => 0, ), ), + array( + '/some/{path}{?ref}', + '/some/foo', + array( + 'path' => 'foo', + 'ref' => null, + ), + ), ); }