From: Tomas Doran Date: Thu, 12 Nov 2009 01:39:56 +0000 (+0000) Subject: Patch up changes to tests into new location. This merges parts of the following commi... X-Git-Tag: 5.80014~15^2~1 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=02fee6c690aa8c2a8ccd2d862928ec4c64e63712;hp=e209dfa3de02bbb9c8155ed93d2ed4f62a5b4079;p=catagits%2FCatalyst-Runtime.git Patch up changes to tests into new location. This merges parts of the following commits which were missed by svk: -r11456:11457 http://dev.catalyst.perl.org/repos/Catalyst/Catalyst-Runtime/5.80/trunk -r11467:11468 http://dev.catalyst.perl.org/repos/Catalyst/Catalyst-Runtime/5.80/trunk --- diff --git a/t/aggregate/unit_core_mvc.t b/t/aggregate/unit_core_mvc.t index 876d31a..b04c3a3 100644 --- a/t/aggregate/unit_core_mvc.t +++ b/t/aggregate/unit_core_mvc.t @@ -1,4 +1,4 @@ -use Test::More tests => 46; +use Test::More tests => 51; use strict; use warnings; @@ -181,3 +181,47 @@ is ( MyMVCTestApp->model , 'MyMVCTestApp::Model::M', 'default_model in class met } + +{ + my $warn = ''; + no warnings 'redefine'; + local *Catalyst::Log::warn = sub { $warn .= $_[1] }; + + is_deeply (MyMVCTestApp->controller('MyMVCTestApp::Controller::C'), + MyMVCTestApp->components->{'MyMVCTestApp::Controller::C'}, + 'controller by fully qualified name ok'); + + # You probably meant $c->controller('C') instead of $c->controller({'MyMVCTestApp::Controller::C'}) + my ($suggested_comp_name, $orig_comp_name) = $warn =~ /You probably meant (.*) instead of (.*) /; + isnt($suggested_comp_name, $orig_comp_name, 'suggested fix in warning for fully qualified component names makes sense' ); +} + +{ + package MyApp::WithoutRegexFallback; + + use base qw/Catalyst/; + + __PACKAGE__->config( { disable_component_resolution_regex_fallback => 1 } ); + + __PACKAGE__->components( { map { ( ref($_)||$_ , $_ ) } + qw/MyApp::WithoutRegexFallback::Controller::Another::Foo/ } ); + + # allow $c->log->warn to work + __PACKAGE__->setup_log; +} + +{ + # test if non-regex component retrieval still works + is( MyApp::WithoutRegexFallback->controller('Another::Foo'), + 'MyApp::WithoutRegexFallback::Controller::Another::Foo', 'controller Another::Foo found'); +} + +{ + my $warnings = 0; + no warnings 'redefine'; + local *Catalyst::Log::warn = sub { $warnings++ }; + + # try to get nonexisting object w/o regexp fallback + is( MyApp::WithoutRegexFallback->controller('Foo'), undef, 'no controller Foo found'); + ok( !$warnings, 'no regexp fallback warnings' ); +} diff --git a/t/aggregate/unit_load_catalyst_test.t b/t/aggregate/unit_load_catalyst_test.t index d3f30ee..fa8144c 100644 --- a/t/aggregate/unit_load_catalyst_test.t +++ b/t/aggregate/unit_load_catalyst_test.t @@ -4,8 +4,8 @@ use strict; use warnings; use FindBin; -use lib "$FindBin::Bin/lib"; -use Test::More tests => 59; +use lib "$FindBin::Bin/../lib"; +use Test::More tests => 61; use FindBin qw/$Bin/; use lib "$Bin/../lib"; use Catalyst::Utils; @@ -89,6 +89,9 @@ use_ok( $Class ); " Content recorded in response" ); ok( $c->stash, " Stash accessible" ); ok( $c->action, " Action object accessible" ); + ok( $res->request, " Response has request object" ); + lives_and { is( $res->request->uri, $Url) } + " Request object has correct url"; } } }