- Support Moose components so that attribute defaults work
and BUILD methods are correctly called (t0m)
- Add tests for this (Florian Ragwitz)
+ - Added Catalyst::Test::ctx_request to be able to inspect
+ the context object after a request is made (Jos Boumans)
5.71000 2009-01-19 17:50:00
- Text::SimpleTable's go as wide as $ENV{COLUMNS} (jhannah)
use Catalyst::Test 'TestApp';
my $content = get('index.html'); # Content as string
my $response = request('index.html'); # HTTP::Response object
- my($res, $c) = crequest('index.html'); # HTTP::Response & context object
+ my($res, $c) = ctx_request('index.html'); # HTTP::Response & context object
use HTTP::Request::Common;
my $response = request POST '/foo', [
=head1 FUNCTIONS
-=head2 ($res, $c) = crequest( ... );
+=head2 ($res, $c) = ctx_request( ... );
Works exactly like C<Catalyst::Test::request>, except it also returns the
catalyst context object, C<$c>. Note that this only works for local requests.
no strict 'refs';
my $caller = caller(0);
- *{"$caller\::request"} = $request;
- *{"$caller\::get"} = $get;
- *{"$caller\::crequest"} = sub {
+ *{"$caller\::request"} = $request;
+ *{"$caller\::get"} = $get;
+ *{"$caller\::ctx_request"} = sub {
my $me = ref $self || $self;
- ### throw an exception if crequest is being used against a remote
+ ### throw an exception if ctx_request is being used against a remote
### server
Catalyst::Exception->throw("$me only works with local requests, not remote")
if $ENV{CATALYST_SERVER};
my $Content = "root index";
my %Meth = (
- $Pkg => [qw|get request crequest|], # exported
+ $Pkg => [qw|get request ctx_request|], # exported
$Class => [qw|local_request remote_request|], # not exported
);
### test exported methods again
for my $meth ( @{ $Meth{$Pkg} } ) { SKIP: {
- ### do a call, we should get a result and perhaps a $c if it's 'crequest';
+ ### do a call, we should get a result and perhaps a $c if it's 'ctx_request';
my ($res, $c) = eval { $Pkg->can($meth)->( $Url ) };
ok( 1, " Called $Pkg->$meth( $Url )" );
is( $res_as_string, $Content,
" Content as expected: $res_as_string" );
- ### some tests for 'crequest'
- skip "Context tests skipped for '$meth'", 6 unless $meth eq 'crequest';
+ ### some tests for 'ctx_request'
+ skip "Context tests skipped for '$meth'", 6 unless $meth eq 'ctx_request';
ok( $c, " Context object returned" );
isa_ok( $c, $App, " Object" );