@INC = '../lib';
}
-use Test::More tests => 53;
+use Test::More tests => 64;
BEGIN { use_ok 'File::Basename' }
is(basename('/arma/virumque.cano'), 'virumque.cano');
is(dirname ('/arma/virumque.cano'), '/arma');
is(dirname('arma/'), '.');
- is(dirname('/'), '/');
}
is(dirname('/perl/lib//'), '/perl');
}
+### rt.perl.org 22236
+{
+ is(basename('a/'), 'a');
+ is(basename('/usr/lib//'), 'lib');
+
+ fileparse_set_fstype 'MSWin32';
+ is(basename('a\\'), 'a');
+ is(basename('\\usr\\lib\\\\'), 'lib');
+}
+
+
+### rt.cpan.org 36477
+{
+ fileparse_set_fstype('Unix');
+ is(dirname('/'), '/');
+ is(basename('/'), '/');
+
+ fileparse_set_fstype('DOS');
+ is(dirname('\\'), '\\');
+ is(basename('\\'), '\\');
+}
+
+
+### basename(1) sez: "The suffix is not stripped if it is identical to the
+### remaining characters in string"
+{
+ fileparse_set_fstype('Unix');
+ is(basename('.foo'), '.foo');
+ is(basename('.foo', '.foo'), '.foo');
+ is(basename('.foo.bar', '.foo'), '.foo.bar');
+ is(basename('.foo.bar', '.bar'), '.foo');
+}
+
### Test tainting
{
1;
}
+ fileparse_set_fstype 'Unix';
ok tainted(dirname($TAINT.'/perl/lib//'));
ok all_tainted(fileparse($TAINT.'/dir/draft.book7','\.book\d+'));
}