b9e253a5f4e3d3d70e6d5b6d58944a449187810f
[perl.git] / ext / ExtUtils-MakeMaker / t / prefixify.t
1 #!/usr/bin/perl -w
2
3 BEGIN {
4     unshift @INC, 't/lib';
5 }
6
7 use strict;
8 use Test::More;
9
10 if( $^O eq 'VMS' ) {
11     plan skip_all => 'prefixify works differently on VMS';
12 }
13 else {
14     plan tests => 4;
15 }
16 use ExtUtils::MakeMaker::Config;
17 use File::Spec;
18 use ExtUtils::MM;
19
20 my $Is_Dosish = $^O =~ /^(dos|MSWin32)$/;
21
22 my $mm = bless {}, 'MM';
23
24 my $default = File::Spec->catdir(qw(this that));
25
26 $mm->prefixify('installbin', 'wibble', 'something', $default);
27 is( $mm->{INSTALLBIN}, $Config{installbin},
28                                             'prefixify w/defaults');
29
30 $mm->{ARGS}{PREFIX} = 'foo';
31 $mm->prefixify('installbin', 'wibble', 'something', $default);
32 is( $mm->{INSTALLBIN}, File::Spec->catdir('something', $default),
33                                             'prefixify w/defaults and PREFIX');
34
35 $mm->prefixify('installbin', '../wibble', 'something', $default);
36 is( $mm->{INSTALLBIN}, File::Spec->catdir('something', $default),
37                                             'relative paths + PREFIX');
38
39 SKIP: {
40     skip "Test for DOSish prefixification", 1 unless $Is_Dosish;
41
42     $Config{wibble} = 'C:\opt\perl\wibble';
43     $mm->prefixify('wibble', 'C:\opt\perl', 'C:\yarrow');
44
45     is( $mm->{WIBBLE}, 'C:\yarrow\wibble',  'prefixify Win32 paths' );
46 }