1use strict; 2use warnings; 3use Test::More 0.96; 4 5my $mod = 'Dist::Metadata::Struct'; 6eval "require $mod" or die $@; 7 8# all these translate into "Native" 9foreach my $test ( 10 [ '' => 'Native' ], 11 [ qw( File::Spec Native ) ], 12 [ qw( File::Spec::Native Native ) ], 13 [ qw( Native Native ) ], 14 [ qw( Win32 Win32 ) ], 15 [ qw( File::Spec::Win32 Win32 ) ], 16) { 17 my ( $spec, $exp ) = @$test; 18 my $dist = new_ok( $mod, [ file_spec => $spec, files => {} ] ); 19 is( $dist->file_spec, $exp, "spec '$spec' => '$exp'" ); 20} 21 22# test using default File::Spec 23{ 24 my $dist = new_ok( $mod, [ file_spec => '', files => { 25 README => 'read me', 26 'Module.pm' => \"package Some::Module;\nour \$VERSION = 2;", 27 } ] ); 28 is_deeply( $dist->determine_packages, {'Some::Module' => { file => 'Module.pm', version => 2 }}, 29 'found package in root' ); 30} 31 32done_testing; 33