Browse Source

Merge pull request #3755 from cakephp/issue-3752

3.0 - Fix reverse routing of uninflected routes
José Lorenzo Rodríguez 11 years ago
parent
commit
43b0a99b73
2 changed files with 14 additions and 1 deletions
  1. 1 1
      src/Routing/RouteCollection.php
  2. 13 0
      tests/TestCase/Routing/RouterTest.php

+ 1 - 1
src/Routing/RouteCollection.php

@@ -142,7 +142,7 @@ class RouteCollection implements \Countable {
 			];
 		}
 		foreach ($fallbacks as $i => $template) {
-			$fallbacks[$i] = sprintf($template, $plugin, $url['controller'], $url['action']);
+			$fallbacks[$i] = strtolower(sprintf($template, $plugin, $url['controller'], $url['action']));
 		}
 		if ($name) {
 			array_unshift($fallbacks, $name);

+ 13 - 0
tests/TestCase/Routing/RouterTest.php

@@ -702,6 +702,19 @@ class RouterTest extends TestCase {
 	}
 
 /**
+ * Test that generated names for routes are case-insensitive.
+ *
+ * @return void
+ */
+	public function testRouteNameCasing() {
+		Router::connect('/articles/:id', ['controller' => 'Articles', 'action' => 'view']);
+		Router::connect('/:controller/:action/*', [], ['routeClass' => 'InflectedRoute']);
+		$result = Router::url(['controller' => 'Articles', 'action' => 'view', 'id' => 10]);
+		$expected = '/articles/10';
+		$this->assertEquals($expected, $result);
+	}
+
+/**
  * Test generation of routes with query string parameters.
  *
  * @return void