Example #1
0
 public function testRouters()
 {
     $this->specify("CLI Router doesn't match the correct paths", function () {
         $di = new CliFactoryDefault();
         $di->set("data", function () {
             return "data";
         });
         $router = new Router();
         $router->handle([]);
         expect($router->getModuleName())->null();
         expect($router->getTaskName())->null();
         expect($router->getActionName())->null();
         expect($router->getParams())->equals([]);
         $router->handle(["task" => "main"]);
         expect($router->getModuleName())->null();
         expect($router->getTaskName())->equals("main");
         expect($router->getActionName())->null();
         expect($router->getParams())->equals([]);
         $router->handle(["task" => "echo"]);
         expect($router->getModuleName())->null();
         expect($router->getTaskName())->equals("echo");
         expect($router->getActionName())->null();
         expect($router->getParams())->equals([]);
         $router->handle(["task" => "main", "action" => "hello"]);
         expect($router->getModuleName())->null();
         expect($router->getTaskName())->equals("main");
         expect($router->getActionName())->equals("hello");
         expect($router->getParams())->equals([]);
         $router->handle(["task" => "main", "action" => "hello", "arg1", "arg2"]);
         expect($router->getModuleName())->null();
         expect($router->getTaskName())->equals("main");
         expect($router->getActionName())->equals("hello");
         expect($router->getParams())->equals(["arg1", "arg2"]);
         $router->handle(["module" => "devtools", "task" => "main", "action" => "hello", "arg1", "arg2"]);
         expect($router->getModuleName())->equals("devtools");
         expect($router->getTaskName())->equals("main");
         expect($router->getActionName())->equals("hello");
         expect($router->getParams())->equals(["arg1", "arg2"]);
         $router->handle(["module" => "devtools", "task" => "echo", "action" => "hello", "arg1", "arg2"]);
         expect($router->getModuleName())->equals("devtools");
         expect($router->getTaskName())->equals("echo");
         expect($router->getActionName())->equals("hello");
         expect($router->getParams())->equals(["arg1", "arg2"]);
     });
 }