foo
[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 => 3;
7
8 my $finalized = 0;
9
10 {
11   package TestPlugin;
12
13   sub finalize_session { $finalized = 1 }
14
15   sub finalize { die "already finalized_session()" if $finalized }
16
17   # Structure inheritance so TestPlugin->finalize() is called *after* 
18   # Catalyst::Plugin::Session->finalize()
19   package TestApp;
20
21   use Catalyst qw/
22     Session Session::Store::Dummy Session::State::Cookie +TestPlugin 
23   /;
24   __PACKAGE__->setup;
25 }
26
27 BEGIN { use_ok('Catalyst::Plugin::Session') }
28
29 my $c = TestApp->new;
30 eval { $c->finalize };
31 ok(!$@, "finalize_session() called after all other finalize() methods");
32 ok($finalized, "finalize_session() called");