X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/c439d5a8abcbdac5e00e32362413cbe29c2d8f0e..3d609928e5d166897f26d2afe1b39e518f67a22c:/t/pagename.t?ds=sidebyside diff --git a/t/pagename.t b/t/pagename.t index 96e6a87f1..540d10f4c 100755 --- a/t/pagename.t +++ b/t/pagename.t @@ -1,14 +1,35 @@ #!/usr/bin/perl use warnings; use strict; -use Test::More tests => 5; +use Test::More tests => 19; BEGIN { use_ok("IkiWiki"); } -# Used internally. -$IkiWiki::hooks{htmlize}{mdwn}=1; - +# define mdwn as an extension +$IkiWiki::hooks{htmlize}{mdwn}={}; +is(pagetype("foo.mdwn"), "mdwn"); is(pagename("foo.mdwn"), "foo"); +is(pagetype("foo/bar.mdwn"), "mdwn"); is(pagename("foo/bar.mdwn"), "foo/bar"); + +# bare files get the full filename as page name, undef type +is(pagetype("foo.png"), undef); is(pagename("foo.png"), "foo.png"); +is(pagetype("foo/bar.png"), undef); +is(pagename("foo/bar.png"), "foo/bar.png"); +is(pagetype("foo"), undef); is(pagename("foo"), "foo"); + +# keepextension preserves the extension in the page name +$IkiWiki::hooks{htmlize}{txt}={keepextension => 1}; +is(pagename("foo.txt"), "foo.txt"); +is(pagetype("foo.txt"), "txt"); +is(pagename("foo/bar.txt"), "foo/bar.txt"); +is(pagetype("foo/bar.txt"), "txt"); + +# noextension makes extensionless files be treated as first-class pages +$IkiWiki::hooks{htmlize}{Makefile}={noextension =>1}; +is(pagetype("Makefile"), "Makefile"); +is(pagename("Makefile"), "Makefile"); +is(pagetype("foo/Makefile"), "Makefile"); +is(pagename("foo/Makefile"), "foo/Makefile");