public function testUrlForWithDefaultsAndQualified() { $utils = $this->utils; $m = $this->mapper; $m->connect('home', '', array('controller' => 'blog', 'action' => 'splash')); $m->connect('category_home', 'category/:section', array('controller' => 'blog', 'action' => 'view', 'section' => 'home')); $m->connect(':controller/:action/:id'); $m->createRegs(array('content', 'blog', 'admin/comments')); $environ = array('SCRIPT_NAME' => '', 'SERVER_NAME' => 'www.example.com', 'SERVER_PORT' => '80', 'PATH_INFO' => '/blog/view/4'); Horde_Routes_TestHelper::updateMapper($m, $environ); $this->assertNull($utils->urlFor()); $this->assertNull($utils->urlFor(array('controller' => 'post'))); $this->assertNull($utils->urlFor(array('id' => 2))); $this->assertNull($utils->urlFor(array('qualified' => true, 'controller' => 'blog', 'id' => 4))); $this->assertEquals('http://www.example.com/blog/view/4', $utils->urlFor(array('qualified' => true, 'controller' => 'blog', 'action' => 'view', 'id' => 4))); $this->assertEquals('/viewpost/4', $utils->urlFor(array('controller' => 'post', 'action' => 'view', 'id' => 4))); $environ = array('SCRIPT_NAME' => '', 'HTTP_HOST' => 'www.example.com:8080', 'PATH_INFO' => '/blog/view/4'); Horde_Routes_TestHelper::updateMapper($m, $environ); $this->assertNull($utils->urlFor(array('controller' => 'post'))); $this->assertEquals('http://www.example.com:8080/blog/view/4', $utils->urlFor(array('qualified' => true, 'controller' => 'blog', 'action' => 'view', 'id' => 4))); }
public function testStaticRoute() { $m = $this->mapper; $utils = $m->utils; $utils->mapperDict = array(); $environ = array('SCRIPT_NAME' => '', 'HTTP_HOST' => 'example.com'); Horde_Routes_TestHelper::updateMapper($m, $environ); $m->connect(':controller/:action/:id'); $m->connect('home', 'http://www.groovie.org/', array('_static' => true)); $m->connect('space', '/nasa/images', array('_static' => true)); $m->createRegs(array('content', 'blog')); $this->assertEquals('http://www.groovie.org/', $utils->urlFor('home')); $this->assertEquals('http://www.groovie.org/?s=stars', $utils->urlFor('home', array('s' => 'stars'))); $this->assertEquals('/content/view', $utils->urlFor(array('controller' => 'content', 'action' => 'view'))); $this->assertEquals('/nasa/images?search=all', $utils->urlFor('space', array('search' => 'all'))); }