Added test cases showing usage of 'full_base' key for url generation. Refs #1256

This commit is contained in:
ADmad 2010-11-04 17:59:23 +05:30
parent d1403b0da8
commit 81ce6f40b9
2 changed files with 24 additions and 8 deletions

View file

@ -74,6 +74,8 @@ class RouterTest extends CakeTestCase {
function testFullBaseURL() {
$this->assertPattern('/^http(s)?:\/\//', Router::url('/', true));
$this->assertPattern('/^http(s)?:\/\//', Router::url(null, true));
$this->assertPattern('/^http(s)?:\/\//', Router::url(array('full_base' => true)));
$this->assertIdentical(FULL_BASE_URL . '/', Router::url(array('full_base' => true)));
}
/**
@ -1702,8 +1704,8 @@ class RouterTest extends CakeTestCase {
function testParsingWithPatternOnAction() {
Router::reload();
Router::connect(
'/blog/:action/*',
array('controller' => 'blog_posts'),
'/blog/:action/*',
array('controller' => 'blog_posts'),
array('action' => 'other|actions')
);
$result = Router::parse('/blog/other');
@ -1725,7 +1727,7 @@ class RouterTest extends CakeTestCase {
'named' => array()
);
$this->assertEqual($expected, $result);
$result = Router::url(array('controller' => 'blog_posts', 'action' => 'foo'));
$this->assertEqual('/blog_posts/foo', $result);
@ -2535,20 +2537,20 @@ class CakeRouteTestCase extends CakeTestCase {
*/
function testPatternOnAction() {
$route =& new CakeRoute(
'/blog/:action/*',
array('controller' => 'blog_posts'),
'/blog/:action/*',
array('controller' => 'blog_posts'),
array('action' => 'other|actions')
);
$result = $route->match(array('controller' => 'blog_posts', 'action' => 'foo'));
$this->assertFalse($result);
$result = $route->match(array('controller' => 'blog_posts', 'action' => 'actions'));
$this->assertTrue($result);
$result = $route->parse('/blog/other');
$expected = array('controller' => 'blog_posts', 'action' => 'other', 'pass' => array(), 'named' => array());
$this->assertEqual($expected, $result);
$result = $route->parse('/blog/foobar');
$this->assertFalse($result);
}

View file

@ -21,6 +21,10 @@ App::import('Helper', array('Html', 'Paginator', 'Form', 'Ajax', 'Javascript', '
Mock::generate('JsHelper', 'PaginatorMockJsHelper');
if (!defined('FULL_BASE_URL')) {
define('FULL_BASE_URL', 'http://cakephp.org');
}
/**
* PaginatorHelperTest class
*
@ -1718,6 +1722,16 @@ class PaginatorHelperTest extends CakeTestCase {
'/span',
);
$this->assertTags($result, $expected);
$this->Paginator->options(array('url' => array('full_base' => true)));
$result = $this->Paginator->first();
$expected = array(
'<span',
array('a' => array('href' => FULL_BASE_URL . '/index/page:1/sort:Client.name/direction:DESC')), '&lt;&lt; first', '/a',
'/span',
);
$this->assertTags($result, $expected);
}
/**