Fixed C::P::Session::State::Cookie expires behavior
Yuval Kogman [Thu, 29 Dec 2005 08:55:32 +0000 (08:55 +0000)]
lib/Catalyst/Plugin/Session/State/Cookie.pm
t/basic.t
t/live_app.t

index 23402db..b65430f 100644 (file)
@@ -5,6 +5,7 @@ use strict;
 use warnings;
 
 use NEXT;
+use Catalyst::Utils ();
 
 our $VERSION = "0.02";
 
@@ -50,8 +51,7 @@ sub make_session_cookie {
         }
     }
     else {
-        # XXX: FIXME, Session dropped __expires
-        $cookie->{expires} = $c->session->{__expires};
+        $cookie->{expires} = $c->session_expires;
     }
 
     return $cookie;
index 66711dd..52cba05 100644 (file)
--- a/t/basic.t
+++ b/t/basic.t
@@ -27,7 +27,8 @@ my $cxt =
 $cxt->set_always( config   => {} );
 $cxt->set_always( request  => $req );
 $cxt->set_always( response => $res );
-$cxt->set_always( session  => { __expires => 123 } );
+$cxt->set_always( session  => { } );
+$cxt->set_always( session_expires => 123 );
 $cxt->set_false("debug");
 my $sessionid;
 $cxt->mock( sessionid => sub { shift; $sessionid = shift if @_; $sessionid } );
@@ -36,8 +37,10 @@ can_ok( $m, "setup_session" );
 
 $cxt->setup_session;
 
-is( $cxt->config->{session}{cookie_name},
-    "session", "default cookie name is set" );
+like( $cxt->config->{session}{cookie_name},
+    qr/_session$/, "default cookie name is set" );
+
+$cxt->config->{session}{cookie_name} = "session";
 
 can_ok( $m, "prepare_cookies" );
 
index db8afdb..ac1fc59 100644 (file)
@@ -53,7 +53,7 @@ $m->content_contains( "hit number 2", "session data restored" );
 $m->get_ok( "http://foo.com/stream", "get stream" );
 $m->content_contains( "hit number 3", "session data restored" );
 
-sleep 1;
+sleep 2;
 
 $m->get_ok( "http://foo.com/page", "get stream" );
 $m->content_contains( "hit number 4", "session data restored" );