public function testMixedCaseRouting()
 {
     $routeMock = $this->getMock('stdClass', array('callback'));
     $routeMock->expects($this->once())->method('callback');
     $noMatchMock = $this->getMock('stdClass', array('callback'));
     $noMatchMock->expects($this->never())->method('callback');
     $r = new Router();
     $r->add('/case/sensitive/route', array(), array($noMatchMock, 'callback'));
     $r->addRoute(new CaseInsensitiveRoute('/case/insensitive/route'), array($routeMock, 'callback'));
     $r->route('/Case/INSENSITIVE/RoUtE');
 }
 public function testRegexReverseRouting()
 {
     $r = new Router();
     $r->add('/\\d+:id', array('controller' => 'foo', 'action' => 'bar'));
     $r->add('/foo/\\w+:id', array('controller' => 'foo', 'action' => 'bar'));
     $this->assertEquals('/42', $r->reverseRoute(array('controller' => 'foo', 'action' => 'bar', 'id' => 42)));
     $this->assertEquals('/foo/baz', $r->reverseRoute(array('controller' => 'foo', 'action' => 'bar', 'id' => 'baz')));
 }