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