@INC = '../lib';
}
-use Test::More tests => 57;
+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('/'), '/');
}
}
+### 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
{
# The empty tainted value, for tainting strings
1;
}
+ fileparse_set_fstype 'Unix';
ok tainted(dirname($TAINT.'/perl/lib//'));
ok all_tainted(fileparse($TAINT.'/dir/draft.book7','\.book\d+'));
}