From 50967f6ab2d8a3c3c75149d9788804f6eb42d9ad Mon Sep 17 00:00:00 2001 From: Walther Lalk Date: Wed, 9 Dec 2015 09:24:49 +0200 Subject: [PATCH] Test case to prove issue with DashedRoute --- .../Routing/Route/DashedRouteTest.php | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/TestCase/Routing/Route/DashedRouteTest.php b/tests/TestCase/Routing/Route/DashedRouteTest.php index 2291540d40e..389c54c18fd 100644 --- a/tests/TestCase/Routing/Route/DashedRouteTest.php +++ b/tests/TestCase/Routing/Route/DashedRouteTest.php @@ -192,4 +192,25 @@ public function testParse() $this->assertEquals('searchIt', $result['action']); $this->assertEquals(['tv_shows'], $result['pass']); } + + /** + * @return void + */ + public function testMatchThenParse() + { + $route = new DashedRoute('/plugin/:controller/:action', [ + 'plugin' => 'Vendor/PluginName' + ]); + $url = $route->match([ + 'plugin' => 'Vendor/PluginName', + 'controller' => 'ControllerName', + 'action' => 'actionName' + ]); + $expected_url = '/plugin/controller-name/action-name'; + $this->assertEquals($expected_url, $url); + $result = $route->parse($expected_url); + $this->assertEquals('ControllerName', $result['controller']); + $this->assertEquals('actionName', $result['action']); + $this->assertEquals('Vendor/PluginName', $result['plugin']); + } }