From 9f36957a2166ba13fd9787246fbba061f307a3f6 Mon Sep 17 00:00:00 2001 From: Nuno Maduro Date: Mon, 8 Jan 2024 14:58:30 +0000 Subject: [PATCH] [2.x] Ensure URL defaults are flushed (#807) * Ensure URL defaults are flushed * Apply fixes from StyleCI --------- Co-authored-by: StyleCI Bot --- tests/UrlTest.php | 49 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 tests/UrlTest.php diff --git a/tests/UrlTest.php b/tests/UrlTest.php new file mode 100644 index 000000000..6f183161e --- /dev/null +++ b/tests/UrlTest.php @@ -0,0 +1,49 @@ +createOctaneContext([ + Request::create('/b', 'GET'), + Request::create('/a', 'GET'), + Request::create('/b', 'GET'), + ]); + + $app['router']->get('a', function () { + URL::defaults(['locale' => 'default']); + + return ['default-parameters' => URL::getDefaultParameters()]; + }); + + $app['router']->get('b/{locale?}', function (?string $locale = null) { + return [ + 'locale' => $locale ?: 'none', + 'default-parameters' => URL::getDefaultParameters(), + ]; + }); + + $worker->run(); + + $this->assertEquals([ + 'locale' => 'none', + 'default-parameters' => [], + ], json_decode($client->responses[0]->getContent(), true)); + + $this->assertEquals([ + 'default-parameters' => [ + 'locale' => 'default', + ], + ], json_decode($client->responses[1]->getContent(), true)); + + $this->assertEquals([ + 'locale' => 'none', + 'default-parameters' => [], + ], json_decode($client->responses[0]->getContent(), true)); + } +}