// +---------------------------------------------------------------------- /** * Url测试 * @author liu21st */ namespace tests\thinkphp\library\think; use think\Config; use think\Route; use think\Url; class urlTest extends \PHPUnit_Framework_TestCase { public function testBuildModule() { Route::get('hello/:name', 'index/hello'); Route::get('hello/:id', 'index/hello'); Config::set('pathinfo_depr', '/'); $this->assertEquals('/hello/thinkphp', Url::build('index/hello?name=thinkphp')); $this->assertEquals('/hello/thinkphp.html', Url::build('index/hello', 'name=thinkphp', 'html')); $this->assertEquals('/hello/10', Url::build('index/hello?id=10')); $this->assertEquals('/hello/10.html', Url::build('index/hello', 'id=10', 'html')); } public function testBuildController() { Route::get('blog/:id', '@index/blog/read'); $this->assertEquals('/blog/10.html', Url::build('@index/blog/read', 'id=10', 'html')); } public function testBuildMethod() { Route::get('blog/:id', ['\app\index\controller\blog', 'read']); $this->assertEquals('/blog/10.html', Url::build('\app\index\controller\blog\read', 'id=10', 'html')); } public function testBuildRoute() { Route::get('blog/:id', 'index/blog'); Config::set('url_html_suffix', 'shtml'); $this->assertNotEquals('/blog/10.html', Url::build('/blog/10')); $this->assertEquals('/blog/10.shtml', Url::build('/blog/10')); } public function testBuildAnchor() { Route::get('blog/:id', 'index/blog'); Config::set('url_html_suffix', 'shtml'); $this->assertEquals('/blog/10.shtml#detail', Url::build('/blog/10#detail')); } }