Commit | Line | Data |
60534014 |
1 | #!/usr/bin/perl |
2 | |
3 | use strict; |
4 | use warnings; |
5 | |
325f6ef4 |
6 | use Test::More; |
7 | |
8 | BEGIN { |
9 | if ( eval { require Catalyst::Plugin::Session::State::Cookie } ) { |
10 | plan tests => 3; |
11 | } else { |
12 | plan skip_all => "Catalyst::Plugin::Session::State::Cookie required"; |
13 | } |
14 | } |
455d7130 |
15 | |
16 | my $finalized = 0; |
60534014 |
17 | |
18 | { |
4ad471ea |
19 | package TestPlugin; |
60534014 |
20 | |
60534014 |
21 | sub finalize_session { $finalized = 1 } |
22 | |
23 | sub finalize { die "already finalized_session()" if $finalized } |
24 | |
4ad471ea |
25 | # Structure inheritance so TestPlugin->finalize() is called *after* |
60534014 |
26 | # Catalyst::Plugin::Session->finalize() |
27 | package TestApp; |
28 | |
4ad471ea |
29 | use Catalyst qw/ |
30 | Session Session::Store::Dummy Session::State::Cookie +TestPlugin |
31 | /; |
60534014 |
32 | __PACKAGE__->setup; |
33 | } |
34 | |
4ad471ea |
35 | BEGIN { use_ok('Catalyst::Plugin::Session') } |
60534014 |
36 | |
37 | my $c = TestApp->new; |
38 | eval { $c->finalize }; |
39 | ok(!$@, "finalize_session() called after all other finalize() methods"); |
455d7130 |
40 | ok($finalized, "finalize_session() called"); |