summaryrefslogtreecommitdiff
path: root/lib/File/Basename.t
diff options
context:
space:
mode:
Diffstat (limited to 'lib/File/Basename.t')
-rw-r--r--lib/File/Basename.t30
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';