Merge pull request #1718 from cakephp/issue-2931

Use App.base when there are no requests to generate URL's

Fixes #2931
This commit is contained in:
Mark Story 2013-10-11 12:29:59 -07:00
commit a1a937a6bc
2 changed files with 15 additions and 0 deletions

View file

@ -803,6 +803,9 @@ class Router {
$params = $request->params; $params = $request->params;
$path = array('base' => $request->base, 'here' => $request->here); $path = array('base' => $request->base, 'here' => $request->here);
} }
if (empty($path['base'])) {
$path['base'] = Configure::read('App.base');
}
$base = $path['base']; $base = $path['base'];
$extension = $output = $q = $frag = null; $extension = $output = $q = $frag = null;

View file

@ -80,6 +80,18 @@ class RouterTest extends CakeTestCase {
$this->assertEquals('https://example.com', Configure::read('App.fullBaseUrl')); $this->assertEquals('https://example.com', Configure::read('App.fullBaseUrl'));
} }
/**
* Test that Router uses App.base to build URL's when there are no stored
* request objects.
*
* @return void
*/
public function testBaseUrlWithBasePath() {
Configure::write('App.base', '/cakephp');
Router::fullBaseUrl('http://example.com');
$this->assertEquals('http://example.com/cakephp/tasks', Router::url('/tasks', true));
}
/** /**
* testRouteDefaultParams method * testRouteDefaultParams method
* *