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=8a84fd67498938674deb3446e99ffd246b06a508;hb=14b0dab3b4ba38d8de513a46d902a0eca4068841;hpb=e39312ba37f13fad13d7f1acf967e40dea096278 diff --git a/t/configured_comps.t b/t/configured_comps.t index 8a84fd6..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' } @@ -64,8 +71,11 @@ use Test::More; my ($self, $c, $int) = @_; Test::More::ok(my $user = $c->model("User")->find($int)); - Test::More::ok($c->model("User")->zoo->a); - + 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,23 @@ 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' }, + }); MyApp->setup;