Example #1
0
 public function testOtherSpecialChars()
 {
     $m = new Horde_Routes_Mapper();
     $m->connect('/:year/:(slug).:(format),:(locale)', array('locale' => 'en', 'format' => 'html'));
     $m->createRegs(array('content'));
     $this->assertEquals('/2007/test', $m->generate(array('year' => 2007, 'slug' => 'test')));
     $this->assertEquals('/2007/test.xml', $m->generate(array('year' => 2007, 'slug' => 'test', 'format' => 'xml')));
     $this->assertEquals('/2007/test.xml,ja', $m->generate(array('year' => 2007, 'slug' => 'test', 'format' => 'xml', 'locale' => 'ja')));
     $this->assertNull($m->generate(array('year' => 2007, 'format' => 'html')));
 }
Example #2
0
 public function testFormattedResourceMember()
 {
     $m = new Horde_Routes_Mapper();
     $m->resource('message', 'messages');
     $m->createRegs(array('messages'));
     $path = '/messages/42.xml';
     $m->environ = array('REQUEST_METHOD' => 'GET');
     $this->assertEquals(array('controller' => 'messages', 'action' => 'show', 'id' => 42, 'format' => 'xml'), $m->match($path));
     $m->environ = array('REQUEST_METHOD' => 'POST');
     $this->assertNull($m->match($path));
     $m->environ = array('REQUEST_METHOD' => 'PUT');
     $this->assertEquals(array('controller' => 'messages', 'action' => 'update', 'id' => 42, 'format' => 'xml'), $m->match($path));
     $m->environ = array('REQUEST_METHOD' => 'DELETE');
     $this->assertEquals(array('controller' => 'messages', 'action' => 'delete', 'id' => 42, 'format' => 'xml'), $m->match($path));
 }
 public function testWithResourceRouteNames()
 {
     $m = new Horde_Routes_Mapper();
     $utils = $m->utils;
     $utils->mapperDict = array();
     $m->resource('message', 'messages', array('member' => array('mark' => 'GET'), 'collection' => array('rss' => 'GET')));
     $m->createRegs(array('messages'));
     $this->assertNull($utils->urlFor(array('controller' => 'content', 'action' => 'view')));
     $this->assertNull($utils->urlFor(array('controller' => 'content')));
     $this->assertNull($utils->urlFor(array('controller' => 'admin/comments')));
     $this->assertEquals('/messages', $utils->urlFor('messages'));
     $this->assertEquals('/messages/rss', $utils->urlFor('rss_messages'));
     $this->assertEquals('/messages/4', $utils->urlFor('message', array('id' => 4)));
     $this->assertEquals('/messages/4/edit', $utils->urlFor('edit_message', array('id' => 4)));
     $this->assertEquals('/messages/4/mark', $utils->urlFor('mark_message', array('id' => 4)));
     $this->assertEquals('/messages/new', $utils->urlFor('new_message'));
     $this->assertEquals('/messages.xml', $utils->urlFor('formatted_messages', array('format' => 'xml')));
     $this->assertEquals('/messages/rss.xml', $utils->urlFor('formatted_rss_messages', array('format' => 'xml')));
     $this->assertEquals('/messages/4.xml', $utils->urlFor('formatted_message', array('id' => 4, 'format' => 'xml')));
     $this->assertEquals('/messages/4/edit.xml', $utils->urlFor('formatted_edit_message', array('id' => 4, 'format' => 'xml')));
     $this->assertEquals('/messages/4/mark.xml', $utils->urlFor('formatted_mark_message', array('id' => 4, 'format' => 'xml')));
     $this->assertEquals('/messages/new.xml', $utils->urlFor('formatted_new_message', array('format' => 'xml')));
 }
Example #4
0
 public function testSubdomainsWithPorts()
 {
     $m = new Horde_Routes_Mapper();
     $m->environ = array('SCRIPT_NAME' => '', 'PATH_INFO' => '/', 'HTTP_HOST' => 'example.com:8000', 'SERVER_NAME' => 'example.com');
     $utils = $m->utils;
     $utils->mapperDict = array();
     $m->subDomains = true;
     $m->connect(':controller/:action/:id');
     $m->connect('category_home', 'category/:section', array('controller' => 'blog', 'action' => 'view', 'section' => 'home'));
     $m->connect('building', 'building/:campus/:building/alljacks', array('controller' => 'building', 'action' => 'showjacks'));
     $m->createRegs(array('content', 'blog', 'admin/comments', 'building'));
     $this->assertEquals('/content/view', $utils->urlFor(array('controller' => 'content', 'action' => 'view')));
     $this->assertEquals('/category', $utils->urlFor('category_home'));
     $this->assertEquals('http://new.example.com:8000/category', $utils->urlFor('category_home', array('subDomain' => 'new')));
     $this->assertEquals('http://joy.example.com:8000/building/west/merlot/alljacks', $utils->urlFor('building', array('campus' => 'west', 'building' => 'merlot', 'subDomain' => 'joy')));
     $m->environ = array('HTTP_HOST' => 'example.com');
     $this->assertEquals('http://new.example.com/category', $utils->urlFor('category_home', array('subDomain' => 'new')));
 }