add check to make sure finalize_session() was actually called
[catagits/Catalyst-Plugin-Session.git] / t / 06_finalize.t
CommitLineData
60534014 1#!/usr/bin/perl
2
3use strict;
4use warnings;
5
455d7130 6use Test::More tests => 3;
7
8my $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 27BEGIN { use_ok('Catalyst::Plugin::Session') }
60534014 28
29my $c = TestApp->new;
30eval { $c->finalize };
31ok(!$@, "finalize_session() called after all other finalize() methods");
455d7130 32ok($finalized, "finalize_session() called");