diff options
Diffstat (limited to 'lib/File/Basename.t')
-rw-r--r-- | lib/File/Basename.t | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/lib/File/Basename.t b/lib/File/Basename.t index 627d2f4726..0d3b633669 100644 --- a/lib/File/Basename.t +++ b/lib/File/Basename.t @@ -5,7 +5,7 @@ BEGIN { @INC = '../lib'; } -use Test::More tests => 49; +use Test::More tests => 64; BEGIN { use_ok 'File::Basename' } @@ -76,6 +76,34 @@ can_ok( __PACKAGE__, qw( basename fileparse dirname fileparse_set_fstype ) ); is( dirname("\\foo\\bar\\baz"), "\\foo\\bar" ); } + +### Testing MacOS +{ + is(fileparse_set_fstype('MacOS'), 'MSDOS', 'set fstype to MacOS'); + + my($base,$path,$type) = fileparse('virgil:aeneid:draft.book7', + '\.book\d+'); + is($base, 'draft'); + is($path, 'virgil:aeneid:'); + is($type, '.book7'); + + is(basename(':arma:virumque:cano.trojae'), 'cano.trojae'); + is(dirname(':arma:virumque:cano.trojae'), ':arma:virumque:'); + is(dirname(':arma:virumque:'), ':arma:'); + is(dirname(':arma:virumque'), ':arma:'); + is(dirname(':arma:'), ':'); + is(dirname(':arma'), ':'); + is(dirname('arma:'), 'arma:'); + is(dirname('arma'), ':'); + is(dirname(':'), ':'); + + + # Check quoting of metacharacters in suffix arg by basename() + is(basename(':arma:virumque:cano.trojae','.trojae'), 'cano'); + is(basename(':arma:virumque:cano_trojae','.trojae'), 'cano_trojae'); +} + + ### extra tests for a few specific bugs { fileparse_set_fstype 'DOS'; |