#!perl
eval
'use Test::File'
;
plan
skip_all
=>
'Test::File required'
if
$@;
eval
'use Test::Exception'
;
plan
skip_all
=>
'Test::Exception required'
if
$@;
eval
'use Catalyst::Helper'
;
plan
skip_all
=>
'Catalyst::Helper required'
if
$@;
plan
tests
=> 4;
my
$app_name
=
'TestApp'
;
my
$old_cwd
= cwd();
my
$test_dir
= catdir(
qw/t var/
);
if
(!-d
$test_dir
) {
mkdir
$test_dir
or BAIL_OUT(
"Failed to create test directory: $!"
);
}
chdir
$test_dir
;
my
$helper
= Catalyst::Helper->new;
$helper
->mk_app(
$app_name
);
$FindBin::Bin
=
$FindBin::Bin
= catdir(
$app_name
,
'lib'
);
$helper
->mk_component(
$app_name
,
'view'
,
'Mason'
,
'Mason'
);
my
$module
= catfile(
$app_name
,
'lib'
,
$app_name
,
'View'
,
'Mason.pm'
);
file_exists_ok(
$module
,
'module created'
);
lives_ok(
sub
{
do
$module
;
},
'module compiles fine'
);
ok(!TestApp::View::Mason->config->{use_match},
'module sets use_match to false'
);
ok(TestApp::View::Mason->isa(
'Catalyst::View::Mason'
),
'module inherits from C::V::Mason'
);
END {
if
(
defined
$old_cwd
) {
chdir
$old_cwd
;
rmtree(
$test_dir
);
}
}