Qiang Xue
12 years ago
1 changed files with 82 additions and 0 deletions
@ -1,7 +1,89 @@
|
||||
<?php |
||||
namespace yiiunit\framework\web; |
||||
|
||||
use yii\web\UrlManager; |
||||
|
||||
class UrlManagerTest extends \yiiunit\TestCase |
||||
{ |
||||
public function testCreateUrl() |
||||
{ |
||||
// default setting with '/' as base url |
||||
$manager = new UrlManager(array( |
||||
'baseUrl' => '/', |
||||
)); |
||||
$url = $manager->createUrl('post/view'); |
||||
$this->assertEquals('/?r=post/view', $url); |
||||
$url = $manager->createUrl('post/view', array('id' => 1, 'title' => 'sample post')); |
||||
$this->assertEquals('/?r=post/view&id=1&title=sample%20post', $url); |
||||
|
||||
// default setting with '/test/' as base url |
||||
$manager = new UrlManager(array( |
||||
'baseUrl' => '/test/', |
||||
)); |
||||
$url = $manager->createUrl('post/view', array('id' => 1, 'title' => 'sample post')); |
||||
$this->assertEquals('/test/?r=post/view&id=1&title=sample%20post', $url); |
||||
|
||||
// pretty URL without rules |
||||
$manager = new UrlManager(array( |
||||
'enablePrettyUrl' => true, |
||||
'baseUrl' => '/', |
||||
)); |
||||
$url = $manager->createUrl('post/view', array('id' => 1, 'title' => 'sample post')); |
||||
$this->assertEquals('/post/view?r=post/view&id=1&title=sample%20post', $url); |
||||
$manager = new UrlManager(array( |
||||
'enablePrettyUrl' => true, |
||||
'baseUrl' => '/test/', |
||||
)); |
||||
$url = $manager->createUrl('post/view', array('id' => 1, 'title' => 'sample post')); |
||||
$this->assertEquals('/test/post/view?r=post/view&id=1&title=sample%20post', $url); |
||||
$manager = new UrlManager(array( |
||||
'enablePrettyUrl' => true, |
||||
'baseUrl' => '/test/index.php', |
||||
)); |
||||
$url = $manager->createUrl('post/view', array('id' => 1, 'title' => 'sample post')); |
||||
$this->assertEquals('/test/index.php/post/view?r=post/view&id=1&title=sample%20post', $url); |
||||
|
||||
// todo: test showScriptName |
||||
|
||||
// pretty URL with rules |
||||
$manager = new UrlManager(array( |
||||
'enablePrettyUrl' => true, |
||||
'rules' => array( |
||||
array( |
||||
'pattern' => 'post/<id>/<title>', |
||||
), |
||||
), |
||||
'baseUrl' => '/', |
||||
)); |
||||
$url = $manager->createUrl('post/view', array('id' => 1, 'title' => 'sample post')); |
||||
$this->assertEquals('/post/view/1/sample%20test', $url); |
||||
$url = $manager->createUrl('post/index', array('page' => 1)); |
||||
$this->assertEquals('/post/index?page=1', $url); |
||||
|
||||
// pretty URL with rules and suffix |
||||
$manager = new UrlManager(array( |
||||
'enablePrettyUrl' => true, |
||||
'rules' => array( |
||||
array( |
||||
'pattern' => 'post/<id>/<title>', |
||||
), |
||||
), |
||||
'baseUrl' => '/', |
||||
'suffix' => '.html', |
||||
)); |
||||
$url = $manager->createUrl('post/view', array('id' => 1, 'title' => 'sample post')); |
||||
$this->assertEquals('/post/view/1/sample%20test.html', $url); |
||||
$url = $manager->createUrl('post/index', array('page' => 1)); |
||||
$this->assertEquals('/post/index.html?page=1', $url); |
||||
} |
||||
|
||||
public function testCreateAbsoluteUrl() |
||||
{ |
||||
|
||||
} |
||||
|
||||
public function testParseRequest() |
||||
{ |
||||
|
||||
} |
||||
} |
||||
|
Loading…
Reference in new issue