Path-ExpandTilde

 view release on metacpan or  search on metacpan

t/tilde.t  view on Meta::CPAN


my $home;
# see File::HomeDir::Tiny
BEGIN { $home = ($^O eq 'MSWin32' && $] < 5.016) ? ($ENV{HOME} || $ENV{USERPROFILE}) : (<~>)[0] }
use if !$home || !-e $home, 'Test::More', skip_all => 'No home directory found for current user';

use Test::More;

is abs_path(expand_tilde('~')), abs_path($home), '~ expands to home dir';

my $username = eval { getpwuid $> };
$username = getlogin unless defined $username;
SKIP: {
  skip 'username not found', 1 unless defined $username;
  my $user_home = expand_tilde("~$username");
  skip 'user home directory not found', 1 unless defined $user_home and $user_home ne "~$username";
  my ($save_home, $save_profile) = delete @ENV{'HOME','USERPROFILE'};
  my $passwd_home = expand_tilde('~');
  @ENV{'HOME','USERPROFILE'} = ($save_home, $save_profile);
  skip 'non-environment home directory not found', 1 unless defined $passwd_home and $passwd_home ne '~';
  is abs_path($user_home), abs_path($passwd_home), '~username expands to user home dir';



( run in 0.376 second using v1.01-cache-2.11-cpan-8d75d55dd25 )