diff options
-rwxr-xr-x | t/file_pruned.t | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/t/file_pruned.t b/t/file_pruned.t new file mode 100755 index 000000000..7d46c4b7f --- /dev/null +++ b/t/file_pruned.t @@ -0,0 +1,38 @@ +#!/usr/bin/perl +use warnings; +use strict; +use Test::More tests => 24; + +BEGIN { use_ok("IkiWiki"); } + +%config=IkiWiki::defaultconfig(); + +ok(IkiWiki::file_pruned("src/.ikiwiki/", "src")); +ok(IkiWiki::file_pruned("src/.ikiwiki/index", "src")); +ok(IkiWiki::file_pruned("src/.svn", "src")); +ok(IkiWiki::file_pruned("src/subdir/.svn", "src")); +ok(IkiWiki::file_pruned("src/subdir/.svn/foo", "src")); +ok(IkiWiki::file_pruned("src/.git", "src")); +ok(IkiWiki::file_pruned("src/subdir/.git", "src")); +ok(IkiWiki::file_pruned("src/subdir/.git/foo", "src")); +ok(! IkiWiki::file_pruned("src/svn/fo", "src")); +ok(! IkiWiki::file_pruned("src/git", "src")); +ok(! IkiWiki::file_pruned("src/index.mdwn", "src")); +ok(! IkiWiki::file_pruned("src/index.", "src")); + +# these are ok because while the filename starts with ".", the canonpathed +# version does not +ok(! IkiWiki::file_pruned("src/.", "src")); +ok(! IkiWiki::file_pruned("src/./", "src")); + +ok(IkiWiki::file_pruned("src/..", "src")); +ok(IkiWiki::file_pruned("src/../", "src")); +ok(IkiWiki::file_pruned("src/../", "src")); + +ok(! IkiWiki::file_pruned("src", "src")); +ok(! IkiWiki::file_pruned("/.foo/src", "/.foo/src")); +ok(IkiWiki::file_pruned("/.foo/src/.foo/src", "/.foo/src")); +ok(! IkiWiki::file_pruned("/.foo/src/index.mdwn", "/.foo/src/index.mdwn")); + +ok(IkiWiki::file_pruned("x/y/foo.dpkg-tmp", "src")); +ok(IkiWiki::file_pruned("x/y/foo.ikiwiki-new", "src")); |