use strict; use warnings; use Test::More tests => 3; use Test::Exception; use File::Temp; use CGI qw( -no_debug ); use HTML::Mason::FakeApache; # Trick ApacheHandler into loading without exploding sub Apache::perl_hook { 1 } sub Apache::server { 0 } { package Test1; use base 'MasonX::WebApp'; __PACKAGE__->UseSession(0); my $app = Test1->new ( apache_req => HTML::Mason::FakeApache->new, args => {}, ); ::throws_ok { $app->session } 'MasonX::WebApp::Exception', 'Cannot call session() when UseSession is false'; } { package Test2; use base 'MasonX::WebApp'; my $dir; BEGIN { $dir = File::Temp::tempdir( CLEANUP => 1 ) }; __PACKAGE__->SessionWrapperParams( { class => 'File', directory => $dir, lock_directory => $dir, }, ); my $app = Test2->new ( apache_req => HTML::Mason::FakeApache->new, args => {}, ); ::isa_ok $app->session_wrapper, 'Apache::Session::Wrapper'; ::isa_ok tied %{ $app->session }, 'Apache::Session'; }