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