Tests and fixes for conditional inclusion
[catagits/Catalyst-Runtime.git] / t / aggregate / unit_core_scriptrunner_home.t
1 use strict;
2 use warnings;
3 use Test::More;
4 use FindBin qw/$Bin/;
5 use Test::Exception;
6 use lib "$Bin/../lib";
7 use File::Temp qw/ tempdir /;
8 use Cwd;
9
10 use_ok('Catalyst::ScriptRunner');
11
12 my $cwd = cwd();
13
14 my $d = tempdir(); #CLEANUP => 1);
15 chdir($d) or die;
16 mkdir("lib") or die;
17 mkdir(File::Spec->catdir("lib", "MyApp")) or die;
18 mkdir(File::Spec->catdir("lib", "MyApp", "Script")) or die;
19
20 open(my $fh, '>', 'Makefile.PL') or die;
21 close($fh) or die;
22
23 open($fh, '>', File::Spec->catdir("lib", "MyApp", "Script", "Foo.pm")) or die;
24 print $fh q{package MyApp::Script::Foo;
25 use Moose;
26 use namespace::autoclean;
27
28 with 'Catalyst::ScriptRole';
29
30 sub run { __PACKAGE__ }
31
32 1;
33 };
34 close($fh) or die;
35
36 use_ok 'Catalyst::ScriptRunner';
37
38 is Catalyst::ScriptRunner->run('MyApp', 'Foo'), 'MyApp::Script::Foo';
39
40 chdir($cwd) or die;
41
42 done_testing;