4 use Test::More tests => 18;
5 my $class = 'Module::Depends::Intrusive';
6 require_ok("Module::Depends");
10 'Class::Accessor::Chained' => 0,
16 # test against ourself
17 my $mb = $class->new->dist_dir('t/old')->find_modules;
19 isa_ok( $mb, $class );
21 is_deeply( $mb->requires, $our_requires, "got our own requires" );
25 { 'Test::More' => 0 },
26 "got our own build_requires"
29 my $other = $class->new->dist_dir("t/mmish")->find_modules;
33 { 'Not::A::Real::Module' => 42 },
34 "got other (makemaker) requires"
37 my $notthere = $class->new->dist_dir('t/no-such-dir')->find_modules;
40 qr{^couldn't chdir to t/no-such-dir: },
41 "fails on not existing dir"
44 $notthere->dist_dir('t/empty')->find_modules;
47 qr{^No {Build,Makefile}.PL found },
51 my $versioned = $class->new->dist_dir('t/build_version')->find_modules;
54 { 'Class::MethodMaker' => '1.02',
55 'Term::ReadKey' => '2.14'
57 "use Module::Build VERSION; no longer trips us up"
60 ### gah, it seems File::chdir's localisation doesn't nest, otherwise we could use that here
62 my $shy = Module::Depends->new->dist_dir('.')->find_modules;
64 is_deeply( $shy->requires, $our_requires,
65 "got our own requires, non-intrusively" );
67 my $distant = Module::Depends->new->dist_dir('t/with-yaml')->find_modules;
68 is_deeply( $distant->requires, $our_requires,
69 "got our own requires, non-intrusively, from a distance" );
71 my $inline_mm = $class->new->dist_dir('t/inline-makemaker')->find_modules;
74 { 'Inline::C' => '0.44',
75 'Time::Piece' => '1.08'
77 "use Inline::MakeMaker; no longer trips us up"
80 my $module_install = $class->new->dist_dir('t/module-install')->find_modules;
81 is( $module_install->error, '', "Module::Install no go boom" );
83 $module_install->build_requires,
84 { 'Test::More' => '0.54' },
85 "Module::Install build_requires"
89 $module_install->requires,
90 { 'perl' => '5.5.3' },
91 "Module::Install requires"
95 = $class->new->dist_dir('t/template-extract')->find_modules;
97 $template_extract->requires,
101 "Template::Extract Module::Install requires"
104 my $findbin = $class->new->dist_dir('t/uses-findbin')->find_modules;
107 { 'Not::A::Real::Module' => 42 },
108 "odd outcome use of FindBin"