/** * Test route table with one simple entry besides default */ public function testSimple_route() { $r = new Router(); // Build route table $r->connect(':foo/:bar/mumble', array('mumble route')); // Params not an array ignored, null is stored $r->connect(':controller/:action/:id', 'not-an-array'); // Match first route $route = $r->find_route('a/b/mumble'); $this->assertEquals(':foo/:bar/mumble', $route['path']); $this->assertEquals(array('mumble route'), $route['params']); $selected = $r->get_selected_route(); $this->assertEquals(':foo/:bar/mumble', $selected['path']); $this->assertEquals(array('mumble route'), $selected['params']); // Match second route $route = $r->find_route('a/b/c'); $this->assertEquals(':controller/:action/:id', $route['path']); $this->assertNull($route['params']); $selected = $r->get_selected_route(); $this->assertEquals(':controller/:action/:id', $selected['path']); $this->assertNull($selected['params']); }