| use Mojolicious::Lite; | 
 | use Test::More tests => 17; | 
 | use Mojolicious::Controller; | 
 |  | 
 | use_ok('Kalamar::Request'); | 
 |  | 
 | my $req = Kalamar::Request->new( | 
 |   url => 'http://www.example.com', | 
 |   method => 'POST', | 
 |   controller => Mojolicious::Controller->new | 
 | )->param('x', 'y'); | 
 |  | 
 | is($req->method, 'POST'); | 
 | is($req->url, 'http://www.example.com'); | 
 | ok($req->controller); | 
 | is_deeply($req->param, ['x','y'], 'Compare'); | 
 |  | 
 | my $err; | 
 | $req->start->catch( | 
 |   sub { | 
 |     $err = shift | 
 |   })->finally( | 
 |     sub { | 
 |       is($err,'No useragent defined','Error'); | 
 |     })->wait; | 
 |  | 
 | my $c = $req->controller; | 
 | $c->app(app); | 
 | ok($req->controller(undef),'Set controller'); | 
 |  | 
 | $req->start->catch( | 
 |   sub { | 
 |     $err = shift | 
 |   })->finally( | 
 |     sub { | 
 |       is($err,'No controller defined','Error'); | 
 |     })->wait; | 
 |  | 
 | ok($req->url(undef),'Set URL'); | 
 |  | 
 | $req->start->catch( | 
 |   sub { | 
 |     $err = shift | 
 |   })->finally( | 
 |     sub { | 
 |       is($err,'No URL defined','Error'); | 
 |     })->wait; | 
 |  | 
 | put '/test' => sub { | 
 |   shift->render(text => 'Hallo') | 
 | }; | 
 |  | 
 | # Set UA | 
 | ok($req->ua(Mojo::UserAgent->new)); | 
 | $req->ua->server->app->log->level('fatal'); | 
 | ok($req->controller($c)); | 
 | ok($req->method('put')); | 
 | ok($req->url('/test')); | 
 | ok($req->param(undef)); | 
 |  | 
 | $err = undef; | 
 | $req->start->then( | 
 |   sub { | 
 |     my $tx = shift; | 
 |     is($tx->res->body,'Hallo'); | 
 |   })->catch( | 
 |     sub { | 
 |       $err = shift; | 
 |     })->finally( | 
 |       sub { | 
 |         ok(!$err); | 
 |       })->wait; | 
 |  | 
 | done_testing; | 
 | __END__ | 
 |  | 
 | 1; |