e4bdd404f0364b9779625bf4f860a7996b900fcc
[catagits/Catalyst-Plugin-Session.git] / t / 06_finalize.t
1 #!/usr/bin/perl
2
3 use strict;
4 use warnings;
5
6 use Test::More tests => 2;
7
8 {
9   package MyTestPlugin;
10   use strict;
11
12   my $finalized = 0;
13   sub finalize_session { $finalized = 1 }
14
15   sub finalize { die "already finalized_session()" if $finalized }
16
17   # Structure inheritance so MyTestPlugin->finalize() is called *after* 
18   # Catalyst::Plugin::Session->finalize()
19   package TestApp;
20
21   use Catalyst qw/ Session Session::Store::Dummy Session::State::Cookie +MyTestPlugin /;
22   __PACKAGE__->config(session => { expires => 1000 });
23   __PACKAGE__->setup;
24 }
25
26 my $m;
27 BEGIN { use_ok( $m = "Catalyst::Plugin::Session" ) }
28
29 my $c = TestApp->new;
30 eval { $c->finalize };
31 ok(!$@, "finalize_session() called after all other finalize() methods");