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