Browse Source

Test case to prove issue with DashedRoute

Walther Lalk 10 years ago
parent
commit
50967f6ab2
1 changed files with 21 additions and 0 deletions
  1. 21 0
      tests/TestCase/Routing/Route/DashedRouteTest.php

+ 21 - 0
tests/TestCase/Routing/Route/DashedRouteTest.php

@@ -192,4 +192,25 @@ class DashedRouteTest extends TestCase
         $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']);
+    }
 }