$path_length = strlen($request->url);
foreach ($this->map as $rule => $action) {
+ // First check if this is the empty rule.
+ if (empty($rule)) {
+ if (empty($request->url))
+ return $action;
+ else
+ continue;
+ }
+
// Check if this is a regular expression rule and match it.
if ($rule[0] == '/' && substr($rule, -1) == '/') {
$matches = array();
$this->assertEquals('Second', $this->fixture->Evaluate($request));
}
+ public function testEmptyRule()
+ {
+ $map = array(
+ 'some/first' => 'First',
+ '' => 'Index',
+ 'some/second' => 'Second'
+ );
+ $this->fixture->set_map($map);
+
+ $request = new http\Request('some/first');
+ $this->assertEquals('First', $this->fixture->Evaluate($request));
+
+ $request = new http\Request('');
+ $this->assertEquals('Index', $this->fixture->Evaluate($request));
+
+ $request = new http\Request('some/second');
+ $this->assertEquals('Second', $this->fixture->Evaluate($request));
+ }
+
public function testExtractSingle()
{
$map = array(