This file documents the revision history for Perl extension Catalyst.
- - Removed test dependency on Test::NoWarnings
+ - Swapped out CGI::Cookie in favour of CGI::Simple::Cookie
+ - Removed test dependencies on Test::NoWarnings, Test::MockObject
- Removed dependency on UNIVERSAL::require
- Split out Catalyst::Helper into a new distribution
- un-bundled the plugins as they are now pre-reqs for Catalyst::Helper
requires 'Class::Accessor::Fast';
requires 'Class::Data::Inheritable';
requires 'Class::Inspector' => '1.06';
-requires 'CGI::Cookie';
+requires 'CGI::Simple::Cookie';
requires 'Data::Dump';
requires 'File::Modified';
requires 'HTML::Entities';
requires 'Path::Class' => '0.09';
requires 'Scalar::Util';
requires 'Text::SimpleTable' => '0.03';
-requires 'Test::MockObject';
requires 'Time::HiRes';
requires 'Tree::Simple' => '1.15';
requires 'Tree::Simple::Visitor::FindByPath';
use strict;
use base 'Class::Accessor::Fast';
-use CGI::Cookie;
+use CGI::Simple::Cookie;
use Data::Dump qw/dump/;
use HTML::Entities;
use HTTP::Body;
=head2 $self->finalize_cookies($c)
-Create CGI::Cookies from $c->res->cookies, and set them as response headers.
+Create CGI::Simple::Cookie objects from $c->res->cookies, and set them as
+response headers.
=cut
my $val = $c->response->cookies->{$name};
- my $cookie = CGI::Cookie->new(
+ my $cookie = CGI::Simple::Cookie->new(
-name => $name,
-value => $val->{value},
-expires => $val->{expires},
=head2 $self->prepare_cookies($c)
-Parse cookies from header. Sets a L<CGI::Cookie> object.
+Parse cookies from header. Sets a L<CGI::Simple::Cookie> object.
=cut
my ( $self, $c ) = @_;
if ( my $header = $c->request->header('Cookie') ) {
- $c->req->cookies( { CGI::Cookie->parse($header) } );
+ $c->req->cookies( { CGI::Simple::Cookie->parse($header) } );
}
}
use Catalyst::Test 'TestApp';
use Catalyst::Request;
-use CGI::Cookie;
+use CGI::Simple::Cookie;
use HTTP::Headers;
use HTTP::Request::Common;
use URI;
'Content is a serialized Catalyst::Request' );
ok( eval '$creq = ' . $response->content, 'Unserialize Catalyst::Request' );
isa_ok( $creq, 'Catalyst::Request' );
- isa_ok( $creq->cookies->{Catalyst}, 'CGI::Cookie', 'Cookie Catalyst' );
+ isa_ok( $creq->cookies->{Catalyst}, 'CGI::Simple::Cookie',
+ 'Cookie Catalyst' );
is( $creq->cookies->{Catalyst}->name, 'Catalyst', 'Cookie Catalyst name' );
is( $creq->cookies->{Catalyst}->value, 'Cool', 'Cookie Catalyst value' );
- isa_ok( $creq->cookies->{Cool}, 'CGI::Cookie', 'Cookie Cool' );
+ isa_ok( $creq->cookies->{Cool}, 'CGI::Simple::Cookie', 'Cookie Cool' );
is( $creq->cookies->{Cool}->name, 'Cool', 'Cookie Cool name' );
is( $creq->cookies->{Cool}->value, 'Catalyst', 'Cookie Cool value' );
use warnings;
use Test::More;
-use Test::MockObject;
my %non_unix = (
MacOS => 1,
plan tests => 3;
}
-my $context = Test::MockObject->new;
-
use_ok('Catalyst');
-$context->mock( 'config', sub { { home => '/home/sri/my-app/' } } );
+my $context = 'Catalyst';
+
+my $config = Catalyst->config;
+
+$config->{home} = '/home/sri/my-app/';
is( Catalyst::path_to( $context, 'foo' ), '/home/sri/my-app/foo', 'Unix path' );
-$context->mock( 'config', sub { { home => '/Users/sri/myapp' } } );
+$config->{home} = '/Users/sri/myapp/';
is( Catalyst::path_to( $context, 'foo', 'bar' ),
'/Users/sri/myapp/foo/bar', 'deep Unix path' );
use warnings;
use Test::More tests => 9;
-use Test::MockObject;
use URI;
-my $request = Test::MockObject->new;
-$request->mock( 'base', sub { URI->new('http://127.0.0.1/foo') } );
+use_ok('Catalyst');
-my $context = Test::MockObject->new;
-$context->mock( 'request', sub { $request } );
-$context->mock( 'namespace', sub { 'yada' } );
+my $request = Catalyst::Request->new( {
+ base => URI->new('http://127.0.0.1/foo')
+ } );
-use_ok('Catalyst');
+my $context = Catalyst->new( {
+ request => $request,
+ namespace => 'yada',
+ } );
is(
Catalyst::uri_for( $context, '/bar/baz' )->as_string,
'URI for undef action with query params in unicode'
);
-$request->mock( 'base', sub { URI->new('http://localhost:3000/') } );
-$request->mock( 'match', sub { 'orderentry/contract' } );
+$request->base( URI->new('http://localhost:3000/') );
+$request->match( 'orderentry/contract' );
is(
Catalyst::uri_for( $context, '/Orderentry/saveContract' )->as_string,
'http://localhost:3000/Orderentry/saveContract',
);
{
- $request->mock( 'base', sub { URI->new('http://127.0.0.1/') } );
+ $request->base( URI->new('http://127.0.0.1/') );
- my $context = Test::MockObject->new;
- $context->mock( 'request', sub { $request } );
- $context->mock( 'namespace', sub { '' } );
+ $context->namespace('');
is( Catalyst::uri_for( $context, '/bar/baz' )->as_string,
'http://127.0.0.1/bar/baz', 'URI with no base or match' );