📄 router.test.php
字号:
$this->assertEqual($result, $expected); Router::reload(); Router::parse('/'); Router::connect('/:controller/:action/:id', array(), array('id' => $ID)); $result = Router::url(array('controller' => 'posts', 'action' => 'view', 'id' => '1')); $expected = '/posts/view/1'; $this->assertEqual($result, $expected); Router::reload(); Router::parse('/'); Router::connect('/:controller/:id', array('action' => 'view', 'id' => '1')); $result = Router::url(array('controller' => 'posts', 'action' => 'view', 'id' => '1')); $expected = '/posts/1'; $this->assertEqual($result, $expected); $result = Router::url(array('controller' => 'posts', 'action' => 'index', '0')); $expected = '/posts/index/0'; $this->assertEqual($result, $expected); $result = Router::url(array('controller' => 'posts', 'action'=>'index', '0', '?' => 'var=test&var2=test2')); $expected = '/posts/index/0?var=test&var2=test2'; $this->assertEqual($result, $expected); $result = Router::url(array('controller' => 'posts', '0', '?' => 'var=test&var2=test2')); $this->assertEqual($result, $expected); $result = Router::url(array('controller' => 'posts', '0', '?' => array('var' => 'test', 'var2' => 'test2'))); $this->assertEqual($result, $expected); $result = Router::url(array('controller' => 'posts', '0', '?' => array('var' => null))); $this->assertEqual($result, '/posts/index/0'); $result = Router::url(array('controller' => 'posts', '0', '?' => 'var=test&var2=test2', '#' => 'unencoded string %')); $expected = '/posts/index/0?var=test&var2=test2#unencoded+string+%25'; $this->assertEqual($result, $expected); Router::connect('/view/*', array('controller' => 'posts', 'action' => 'view')); Router::promote(); $result = Router::url(array('controller' => 'posts', 'action' => 'view', '1')); $expected = '/view/1'; $this->assertEqual($result, $expected); Configure::write('Routing.admin', 'admin'); Router::reload(); Router::setRequestInfo(array( array( 'pass' => array(), 'action' => 'admin_index', 'plugin' => null, 'controller' => 'subscriptions', 'admin' => true, 'url' => array('url' => 'admin/subscriptions/index/page:2'), ), array( 'base' => '/magazine', 'here' => '/magazine/admin/subscriptions/index/page:2', 'webroot' => '/magazine/', 'passedArgs' => array('page' => 2), ) )); Router::parse('/'); $result = Router::url(array('page' => 3)); $expected = '/magazine/admin/subscriptions/index/page:3'; $this->assertEqual($result, $expected); Configure::write('Routing.admin', 'admin'); Router::reload(); Router::connect('/admin/subscriptions/:action/*', array('controller' => 'subscribe', 'admin' => true, 'prefix' => 'admin')); Router::setRequestInfo(array( array( 'pass' => array(), 'action' => 'admin_index', 'plugin' => null, 'controller' => 'subscribe', 'admin' => true, 'url' => array('url' => 'admin/subscriptions/edit/1') ), array( 'base' => '/magazine', 'here' => '/magazine/admin/subscriptions/edit/1', 'webroot' => '/magazine/', 'passedArgs' => array('page' => 2), 'namedArgs' => array('page' => 2), ) )); Router::parse('/'); $result = Router::url(array('action' => 'edit', 1)); $expected = '/magazine/admin/subscriptions/edit/1'; $this->assertEqual($result, $expected); Router::reload(); Router::setRequestInfo(array( array('pass' => array(), 'action' => 'index', 'plugin' => null, 'controller' => 'real_controller_name', 'url' => array('url' => '')), array( 'base' => '/', 'here' => '/', 'webroot' => '/', 'passedArgs' => array('page' => 2), 'namedArgs' => array('page' => 2), ) )); Router::connect('short_controller_name/:action/*', array('controller' => 'real_controller_name')); Router::parse('/'); $result = Router::url(array('controller' => 'real_controller_name', 'page' => '1')); $expected = '/short_controller_name/index/page:1'; $this->assertEqual($result, $expected); $result = Router::url(array('action' => 'add')); $expected = '/short_controller_name/add'; $this->assertEqual($result, $expected); Router::reload(); Router::connect( ':language/galleries', array('controller' => 'galleries', 'action' => 'index'), array('language' => '[a-z]{3}') ); Router::connect( '/:language/:admin/:controller/:action/*', array('admin' => 'admin'), array('language' => '[a-z]{3}', 'admin' => 'admin') ); Router::connect('/:language/:controller/:action/*', array(), array('language' => '[a-z]{3}') ); $result = Router::url(array('admin' => false, 'language' => 'dan', 'action' => 'index', 'controller' => 'galleries')); $expected = '/dan/galleries'; $this->assertEqual($result, $expected); $result = Router::url(array('admin' => false, 'language' => 'eng', 'action' => 'index', 'controller' => 'galleries')); $expected = '/eng/galleries'; $this->assertEqual($result, $expected); Router::reload(); Router::connect('/:language/pages', array( 'controller' => 'pages', 'action' => 'index' ), array('language' => '[a-z]{3}') ); Router::connect('/:language/:controller/:action/*', array(), array('language' => '[a-z]{3}')); $result = Router::url(array('language' => 'eng', 'action' => 'index', 'controller' => 'pages')); $expected = '/eng/pages'; $this->assertEqual($result, $expected); $result = Router::url(array('language' => 'eng', 'controller' => 'pages')); $this->assertEqual($result, $expected); $result = Router::url(array('language' => 'eng', 'controller' => 'pages', 'action' => 'add')); $expected = '/eng/pages/add'; $this->assertEqual($result, $expected); Router::reload(); Router::parse('/'); Router::setRequestInfo(array( array('pass' => array(), 'action' => 'index', 'plugin' => null, 'controller' => 'users', 'url' => array('url' => 'users')), array( 'base' => '/', 'here' => '/', 'webroot' => '/', 'passedArgs' => array(), 'argSeparator' => ':', 'namedArgs' => array(), ) )); $result = Router::url(array('action' => 'login')); $expected = '/users/login'; $this->assertEqual($result, $expected); Router::reload(); Router::parse('/'); Router::connect('/page/*', array('plugin' => null, 'controller' => 'pages', 'action' => 'view')); $result = Router::url(array('plugin' => 'my_plugin', 'controller' => 'pages', 'action' => 'view', 'my-page')); $expected = '/my_plugin/pages/view/my-page'; $this->assertEqual($result, $expected); Router::reload(); Router::parse('/'); Router::connect('/forestillinger/:month/:year/*', array('plugin' => 'shows', 'controller' => 'shows', 'action' => 'calendar'), array('month' => '0[1-9]|1[012]', 'year' => '[12][0-9]{3}') ); $result = Router::url(array('plugin' => 'shows', 'controller' => 'shows', 'action' => 'calendar', 'month' => 10, 'year' => 2007, 'min-forestilling')); $expected = '/forestillinger/10/2007/min-forestilling'; $this->assertEqual($result, $expected); Router::reload(); Router::parse('/'); Router::connect('/contact/:action', array('plugin' => 'contact', 'controller' => 'contact')); $result = Router::url(array('plugin' => 'contact', 'controller' => 'contact', 'action' => 'me')); $expected = '/contact/me'; $this->assertEqual($result, $expected); Configure::write('Routing.admin', 'admin'); Router::reload(); Router::parse('/'); $result = Router::url(array('admin' => true, 'controller' => 'users', 'action' => 'login')); $expected = '/admin/users/login'; $this->assertEqual($result, $expected); Router::reload(); Router::parse('/'); Router::connect('/kalender/:month/:year/*', array('plugin' => 'shows', 'controller' => 'shows', 'action' => 'calendar'), array('month' => '0[1-9]|1[012]', 'year' => '[12][0-9]{3}') ); Router::connect('/kalender/*', array('plugin' => 'shows', 'controller' => 'shows', 'action' => 'calendar')); $result = Router::url(array('plugin' => 'shows', 'controller' => 'shows', 'action' => 'calendar', 'min-forestilling')); $expected = '/kalender/min-forestilling'; $this->assertEqual($result, $expected); $result = Router::url(array('plugin' => 'shows', 'controller' => 'shows', 'action' => 'calendar', 'year' => 2007, 'month' => 10, 'min-forestilling')); $expected = '/kalender/10/2007/min-forestilling'; $this->assertEqual($result, $expected); Configure::write('Routing.admin', 'admin'); Router::reload(); Router::setRequestInfo(array( array('pass' => array(), 'admin' => true, 'action' => 'index', 'plugin' => null, 'controller' => 'users', 'url' => array('url' => 'users')), array( 'base' => '/', 'here' => '/', 'webroot' => '/', 'passedArgs' => array(), 'argSeparator' => ':', 'namedArgs' => array(), ) )); Router::connect('/page/*', array('controller' => 'pages', 'action' => 'view', 'admin' => true, 'prefix' => 'admin')); Router::parse('/'); $result = Router::url(array('admin' => true, 'controller' => 'pages', 'action' => 'view', 'my-page')); $expected = '/page/my-page'; $this->assertEqual($result, $expected); Router::reload(); Router::setRequestInfo(array( array( 'pass' => array(), 'action' => 'index', 'plugin' => 'myplugin', 'controller' => 'mycontroller', 'admin' => false, 'url' => array('url' => array()) ), array( 'base' => '/', 'here' => '/', 'webroot' => '/', 'passedArgs' => array(), 'namedArgs' => array(), ) )); $result = Router::url(array('plugin' => null, 'controller' => 'myothercontroller')); $expected = '/myothercontroller/'; $this->assertEqual($result, $expected); Configure::write('Routing.admin', 'admin'); Router::reload(); Router::setRequestInfo(array( array('plugin' => null, 'controller' => 'pages', 'action' => 'admin_add', 'pass' => array(), 'prefix' => 'admin', 'admin' => true, 'form' => array(), 'url' => array('url' => 'admin/pages/add')), array('plugin' => null, 'controller' => null, 'action' => null, 'base' => '', 'here' => '/admin/pages/add', 'webroot' => '/') )); Router::parse('/'); $result = Router::url(array('plugin' => null, 'controller' => 'pages', 'action' => 'add', 'id' => false)); $expected = '/admin/pages/add'; $this->assertEqual($result, $expected); Router::reload(); Router::setRequestInfo(array( array ('plugin' => null, 'controller' => 'pages', 'action' => 'admin_edit', 'pass' => array('284'), 'prefix' => 'admin', 'admin' => true, 'form' => array(), 'url' => array('url' => 'admin/pages/edit/284')), array ('plugin' => null, 'controller' => null, 'action' => null, 'base' => '', 'here' => '/admin/pages/edit/284', 'webroot' => '/') )); Router::connect('/admin/:controller/:action/:id', array('admin' => true), array('id' => '[0-9]+')); Router::parse('/'); $result = Router::url(array('plugin' => null, 'controller' => 'pages', 'action' => 'edit', 'id' => '284'));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -