]> sipb.mit.edu Git - ikiwiki.git/commitdiff
file_pruned regression tests
authorJoey Hess <joey@kitenet.net>
Tue, 18 Dec 2007 05:38:06 +0000 (00:38 -0500)
committerJoey Hess <joey@kitenet.net>
Tue, 18 Dec 2007 05:38:06 +0000 (00:38 -0500)
t/file_pruned.t [new file with mode: 0755]

diff --git a/t/file_pruned.t b/t/file_pruned.t
new file mode 100755 (executable)
index 0000000..7d46c4b
--- /dev/null
@@ -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"));