[Catalyst-commits] r14068 - in Catalyst-Plugin-Session/0.00/tags/0.32: lib/Catalyst/Plugin t t/lib/SessionTestApp/Controller

dpetrov at dev.catalyst.perl.org dpetrov at dev.catalyst.perl.org
Mon Aug 8 07:58:42 GMT 2011


Author: dpetrov
Date: 2011-08-08 07:58:42 +0000 (Mon, 08 Aug 2011)
New Revision: 14068

Modified:
   Catalyst-Plugin-Session/0.00/tags/0.32/lib/Catalyst/Plugin/Session.pm
   Catalyst-Plugin-Session/0.00/tags/0.32/t/lib/SessionTestApp/Controller/Root.pm
   Catalyst-Plugin-Session/0.00/tags/0.32/t/live_app.t
Log:
fix extend_session_expires to extend the current session (RT#59595)



Modified: Catalyst-Plugin-Session/0.00/tags/0.32/lib/Catalyst/Plugin/Session.pm
===================================================================
--- Catalyst-Plugin-Session/0.00/tags/0.32/lib/Catalyst/Plugin/Session.pm	2011-08-07 18:55:14 UTC (rev 14067)
+++ Catalyst-Plugin-Session/0.00/tags/0.32/lib/Catalyst/Plugin/Session.pm	2011-08-08 07:58:42 UTC (rev 14068)
@@ -348,7 +348,7 @@
     if ( defined( my $expires = $c->_extended_session_expires ) ) {
         return $expires;
     } elsif ( defined( $expires = $c->_load_session_expires ) ) {
-        return $c->extend_session_expires( $expires );
+        return $c->calculate_initial_session_expires;
     } else {
         return 0;
     }
@@ -368,7 +368,7 @@
 
 sub calculate_extended_session_expires {
     my ( $c, $prev ) = @_;
-    $c->calculate_initial_session_expires;
+    return ( time() + $prev );
 }
 
 sub reset_session_expires {

Modified: Catalyst-Plugin-Session/0.00/tags/0.32/t/lib/SessionTestApp/Controller/Root.pm
===================================================================
--- Catalyst-Plugin-Session/0.00/tags/0.32/t/lib/SessionTestApp/Controller/Root.pm	2011-08-07 18:55:14 UTC (rev 14067)
+++ Catalyst-Plugin-Session/0.00/tags/0.32/t/lib/SessionTestApp/Controller/Root.pm	2011-08-08 07:58:42 UTC (rev 14068)
@@ -108,4 +108,10 @@
     }
 }
 
+sub extend_session_expires : Global {
+    my ($self, $c) = @_;
+    $c->extend_session_expires(31536000);
+    $c->res->output($c->session_expires);
+}
+
 1;

Modified: Catalyst-Plugin-Session/0.00/tags/0.32/t/live_app.t
===================================================================
--- Catalyst-Plugin-Session/0.00/tags/0.32/t/live_app.t	2011-08-07 18:55:14 UTC (rev 14067)
+++ Catalyst-Plugin-Session/0.00/tags/0.32/t/live_app.t	2011-08-08 07:58:42 UTC (rev 14068)
@@ -86,6 +86,19 @@
 $ua3->get_ok( "http://localhost/dump_these_loads_session");
 $ua3->content_contains('NOT');
 
+my $ua4 = Test::WWW::Mechanize::Catalyst->new;
+$ua4->get_ok( "http://localhost/page", "initial get" );
+$ua4->content_contains( "please login", "ua4 not logged in" );
+
+$ua4->get_ok( "http://localhost/login", "log ua4 in" );
+$ua4->content_contains( "logged in", "ua4 logged in" );
+
+$ua4->get_ok( "http://localhost/extend_session_expires", "ua4 extend expire session" );
+
+my ( $ua4_expires ) = ($ua4->content =~ /(\d+)$/);
+
+ok( ($ua4_expires-time()-86400) >= 0, 'extend_session_expires with really long value' );
+
 diag("Testing against Catalyst $Catalyst::VERSION");
 diag("Testing Catalyst::Plugin::Session $Catalyst::Plugin::Session::VERSION");
 




More information about the Catalyst-commits mailing list