public function testRouteGlobbing() { $set = new RouteSet(); $set->addRoute('articles/:action/:id', array('controller' => 'articles')); $set->addRoute('downloads/*filepath', array('controller' => 'downloads', 'action' => 'send_file')); $set->addRoute('*path', array('controller' => 'pages', 'action' => 'view')); $this->assertEquals(array('controller' => 'articles', 'action' => 'edit', 'id' => 15), $set->recognizePath('/articles/edit/15')); $this->assertEquals(array('controller' => 'downloads', 'action' => 'send_file', 'filepath' => 'pdf/my_book'), $set->recognizePath('/downloads/pdf/my_book')); $this->assertEquals(array('controller' => 'pages', 'action' => 'view', 'path' => 'products/web/cms/php'), $set->recognizePath('/products/web/cms/php')); $this->assertEquals(array('controller' => 'pages', 'action' => 'view'), $set->recognizePath('/')); $this->assertEquals('', $set->generate(array('controller' => 'pages', 'action' => 'view', 'path' => ''))); $this->assertEquals('products/web/cms/php', $set->generate(array('controller' => 'pages', 'action' => 'view', 'path' => 'products/web/cms/php'))); $this->assertEquals('downloads/pdf/my_book', $set->generate(array('controller' => 'downloads', 'action' => 'send_file', 'filepath' => 'pdf/my_book'))); }