Skip to content

Commit

Permalink
(fixed #4438) Fix sfPatternRouting->getRoutes() sometimes returning…
Browse files Browse the repository at this point in the history
… serialized routes

FriendsOfSymfony1/symfony1#169
参照
  • Loading branch information
nishizoe committed Jun 1, 2020
1 parent 92106c5 commit e38257f
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
8 changes: 8 additions & 0 deletions lib/vendor/symfony/lib/routing/sfPatternRouting.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,14 @@ public function getCurrentRouteName()
*/
public function getRoutes()
{
foreach ($this->routes as $name => $route) {
if (is_string($route)) {
$route = unserialize($route);
$route->setDefaultParameters($this->defaultParameters);
$this->routes[$name] = $route;
}
}

return $this->routes;
}

Expand Down
4 changes: 2 additions & 2 deletions lib/vendor/symfony/test/unit/routing/sfPatternRoutingTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -639,8 +639,8 @@ function configureRouting($event)
// see fixtures/config_routing.yml.php
$r = new sfPatternRoutingTest(new sfEventDispatcher(), new sfNoCache(), array('load_configuration' => true));
$t->ok($r->hasRouteName('test1'), '->loadConfiguration() Config file is loaded');
$routes = $r->getRoutes();
$t->ok(is_string($routes['test1']), '->loadConfiguration() Route objects are not serialized in cache');
$route = $r->getRoute('test1');
$t->ok(is_object($route), '->loadConfiguration() Route objects are unserialized on demand');
$routes = $r->getRoutes();
$t->ok(is_object($routes['test1']), '->loadConfiguration() Route objects are not serialized in cache');
$t->is_deeply($r->parse('/'), array('module' => 'default', 'action' => 'index'), '->parse() Default parameters are applied to serialized routes');

0 comments on commit e38257f

Please sign in to comment.