File Coverage

blib/lib/File/UserDirs.pm
Criterion Covered Total %
statement 12 24 50.0
branch n/a
condition n/a
subroutine 4 13 30.7
pod 8 8 100.0
total 24 45 53.3


line stmt bran cond sub pod time code
1             package File::UserDirs;
2 1     1   12515 use strict;
  1         2  
  1         29  
3 1     1   3 use warnings FATAL => 'all';
  1         2  
  1         31  
4 1     1   459 use IPC::System::Simple qw(capturex);
  1         10302  
  1         60  
5 1     1   310 use parent qw(Exporter);
  1         175  
  1         4  
6              
7             our $VERSION = '0.07';
8             our %EXPORT_TAGS = (
9             all => [
10             qw(xdg_desktop_dir xdg_documents_dir xdg_download_dir xdg_music_dir
11             xdg_pictures_dir xdg_publicshare_dir xdg_templates_dir xdg_videos_dir)
12             ]);
13             our @EXPORT_OK = @{$EXPORT_TAGS{all}};
14              
15              
16             sub _xdg_user_dir {
17 0     0     my ($purpose) = @_;
18 0           my $dir = capturex 'xdg-user-dir', $purpose;
19 0           chomp $dir;
20 0           return $dir;
21             }
22              
23 0     0 1   sub xdg_desktop_dir {return _xdg_user_dir 'DESKTOP';}
24 0     0 1   sub xdg_documents_dir {return _xdg_user_dir 'DOCUMENTS';}
25 0     0 1   sub xdg_download_dir {return _xdg_user_dir 'DOWNLOAD';}
26 0     0 1   sub xdg_music_dir {return _xdg_user_dir 'MUSIC';}
27 0     0 1   sub xdg_pictures_dir {return _xdg_user_dir 'PICTURES';}
28 0     0 1   sub xdg_publicshare_dir {return _xdg_user_dir 'PUBLICSHARE';}
29 0     0 1   sub xdg_templates_dir {return _xdg_user_dir 'TEMPLATES';}
30 0     0 1   sub xdg_videos_dir {return _xdg_user_dir 'VIDEOS';}
31              
32             1;
33              
34             __END__