X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=t%2Fconfigured_comps.t;h=c543c083c62a89fa7bf622c1c78c8b6246638307;hp=1cc0d1ad451727584e7b281e9263206b38663d22;hb=ed5a562b5c77df8d42b562af5733641baa73107d;hpb=3e5607485bfedb02a06193f653a2f05202db7a4e diff --git a/t/configured_comps.t b/t/configured_comps.t index 1cc0d1a..c543c08 100644 --- a/t/configured_comps.t +++ b/t/configured_comps.t @@ -4,12 +4,19 @@ use HTTP::Request::Common; use Test::More; { + package TestRole; + + use Moose::Role; + + sub role { 'role' } + package Local::Model::Foo; use Moose; extends 'Catalyst::Model'; has a => (is=>'ro', required=>1); + has b => (is=>'ro'); sub foo { shift->a . 'foo' } @@ -62,10 +69,13 @@ use Test::More; sub user :Local Args(1) { my ($self, $c, $int) = @_; - my $user = $c->model("User")->find($int); - - $c->model("User")->zoo->a; + Test::More::ok(my $user = $c->model("User")->find($int)); + Test::More::is($c->model("User")->zoo->a, 2); + Test::More::is($c->model("Foo")->role, 'role'); + Test::More::is($c->model("One")->a, 'one'); + Test::More::is($c->model("Two")->a, 'two'); + $c->res->body("name: $user->{name}, age: $user->{age}"); } @@ -79,19 +89,22 @@ use Test::More; package MyApp; use Catalyst; + MyApp->inject_components( + 'Model::One' => { from_component => 'Local::Model::Foo' }, + 'Model::Two' => { from_component => 'Local::Model::Foo' }, + ); + MyApp->config({ - 'Controller::Err' => { - from_component => 'Local::Controller::Errors', - args => { a=> 100, b => 200, namespace =>'error' }, - }, - 'Model::Zoo' => { - from_component => 'Local::Model::Foo', - args => {a=>2}, - }, - 'Model::Foo' => { - from_component => 'Local::Model::Foo', - args => { a=> 100 }, + inject_components => { + 'Controller::Err' => { from_component => 'Local::Controller::Errors' }, + 'Model::Zoo' => { from_component => 'Local::Model::Foo' }, + 'Model::Foo' => { from_component => 'Local::Model::Foo', roles => ['TestRole'] }, }, + 'Controller::Err' => { a => 100, b => 200, namespace => 'error' }, + 'Model::Zoo' => { a => 2 }, + 'Model::Foo' => { a => 100 }, + 'Model::One' => { a => 'one' }, + 'Model::Two' => { a => 'two' }, });