summaryrefslogtreecommitdiff
path: root/t
AgeCommit message (Collapse)Author
2009-10-07convert add_depends to use influencesJoey Hess
No more horrible special-case pagespec parsing. OTOH, matching over all pages to determine influences is a lot of work.
2009-10-07more influences testsJoey Hess
2009-10-07add influence info to match_*Joey Hess
Also update docs, test suite.
2009-10-07make success and failreason objects carry an influences hashJoey Hess
The hash will be used used to record a set of pages that influenced the result of a pagespec match. The influences are merged together when boolean and/or are encountered in a pagespec. That means using a non-short-circuiting OR operator. And so I use & and | when translating pagespecs, since those bitwise operators can be overloaded. ("and" and "or" cannot, apparently).
2009-10-06add_depends should default to content dependencies if unknown type specifiedJoey Hess
2009-10-06update to test backlinks() pagespecsJoey Hess
2009-10-04add test suite for add_dependsJoey Hess
and found a bug in my bitmath..
2009-09-13fix CVS prune testJoey Hess
The regexp only matches things inside the CVS directory, not just "CVS" by itself. I changed the test to not test that it will be pruned.
2009-09-10skip if cvsps is not availableJoey Hess
2009-09-10CVS operations generally need to be within CVS checkouts, so these chdir()Amitai Schlair
calls are warranted. They shouldn't modify the caller's working directory, though. Use File::chdir to keep the scope of the changes subroutine-local. The tests now pass without resetting the working directory.
2009-09-09Add automated tests, modeled after svn's. Note the chdir() calls;Amitai Schlair
perhaps cvs.pm should be doing pushd/popd in case the caller expects its working directory to be left alone.
2009-08-30Merge branch 'master' of git://github.com/joeyh/ikiwikiAmitai Schlair
2009-08-25Remove now-unused function pagespec_mergeSimon McVittie
Now that dependencies are a list of pagespecs with an implicit "or" operation, there's no need to try to merge pagespecs under normal use. ikiwiki-transition contains the only use of the function, so move it there rather than deleting it entirely (it's used to concatenate all admins' lists of locked pages).
2009-08-25Use a hash to de-duplicate dependenciesSimon McVittie
2009-08-24Optimize the dependencies listSimon McVittie
On a large wiki you can spend a lot of time reading through large lists of dependencies to see whether files need to be rebuilt (album, with its one-page-per-photo arrangement, suffers particularly badly from this). The dependency list is currently a single pagespec, but it's not used like a normal pagespec - in practice, it's a list of pagespecs joined with the "or" operator. Accordingly, change it to be stored as a list of pagespecs. On a wiki with many tagged photo albums, this reduces the time to refresh after `touch tags/*.mdwn` from about 31 to 25 seconds. Getting the benefit of this change on an existing wiki requires a rebuild.
2009-08-13Add my CVS plugin and related patches.Amitai Schlair
2009-07-21use underlay_install as optimisatonJoey Hess
2009-07-19Merge branch 'master' into poJoey Hess
Conflicts: debian/changelog
2009-06-08Optimise use of gettext, and avoid ugly warnings if Locale::gettext is not ↵Joey Hess
available. The test suite was emitting a lot of ugly gettext warnings; setting LC_ALL didn't solve the problem for all locale setups (since ikiwiki remaps it to LANG, and ikiwiki didn't know about the C locale). People also seem generally annoyed by the messages when Locale::Gettext is not installed, and I suspect will be generally happier if it just silently doesn't localize. The optimisation came about when I noticed that the gettext sub was doing rather a lot of work each call just to see if localisation is needed. We can avoid that work by caching, and the best thing to cache is a version of the gettext sub that does exactly the right thing. This was slightly complicated by the locale setting, which might need to override the original locale (or lack thereof) after gettext has been called. So it needs to invalidate the cache in that case. It used to do it via a global variable, which I am happy to have also gotten rid of.
2009-06-06Merge commit 'upstream/master' into pub/pointrigeri
Conflicts: debian/changelog debian/control Signed-off-by: intrigeri <intrigeri@boum.org>
2009-06-05add test case for unterminated """ stringJoey Hess
A directive that contains an unterminated """ string should not cause each word of the string to be treated as a bare word. Instead, the directive should fail to parse. There are two tests. One just checks that a complete directive containing such a string fails to parse. The other checks for a case where a directive ends with a very long unterminated """ string, and the directive is itself not closed. While this test won't fail, it does trigger a nasty perl warning.
2009-05-25Fix test suite to not rely on an installed copy of ikiwiki after underlaydir ↵Joey Hess
change. Closes: #530502
2009-05-22stop using perl -T hereJoey Hess
See bug #411786. Perl's random corruption of the taint flag is even effecting the untainting of source filenames now (which AFAICS, is a proper untaint and always worked before..), and that makes using ikiwiki in perl taint mode not work at all.
2009-05-21add test case for multiline pagespecJoey Hess
2009-05-19Merge branch 'master' into poJoey Hess
Conflicts: debian/changelog
2009-05-18Allow curly braces to be used in pagespecsJoey Hess
And avoid a whole class of potential security problems (though none that I know of actually existing..), by avoiding performing any string interpolation on user-supplied data when translating pagespecs.
2009-04-20Merge commit 'upstream/master' into pub/pointrigeri
Conflicts: debian/changelog debian/control
2009-04-04Fix git test suite to use a bare repo.Joey Hess
This works around an enormous (and, in this context, enormously confusing) message that git has begun to print when one attempts to push changes into a non-bare repo. As a bonus, it now tests whether ikiwiki-makerepo works.
2009-03-08Merge commit 'upstream/master' into prv/pointrigeri
Conflicts: IkiWiki/Plugin/editpage.pm debian/control debian/copyright doc/todo/need_global_renamepage_hook.mdwn Signed-off-by: intrigeri <intrigeri@boum.org>
2009-02-19Add noextension parameter to htmlize hooks to support, eg, Makefile.Joey Hess
2009-02-19add keepextension testsJoey Hess
2009-02-19fix pagename, pagetype testsJoey Hess
Put tests in right file. Set internal variable to hash, the functions expect that.
2009-02-19fix pagetype testJoey Hess
File had wrong name, and made wrong assumption about what pagetype does for bare files.
2009-01-31rename apache404 -> 404Joey Hess
This may already work with other web servers that have copied apache's interface, and it should be easy to add support to it for web servers that use some other interface. So, make the name more general.
2009-01-31Split apache404 into an independent pluginSimon McVittie
Also make it ignore the 'do' parameter at Joey's suggestion, to have one less thing to remember when configuring.
2009-01-31CGI: add cgi_page_from_404(), which remaps a path like $REDIRECT_URL to an ↵Simon McVittie
IkiWiki page name Also add a regression test
2009-01-27revert renamepage's hook original nameintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-18Merge commit 'upstream/master' into prv/pointrigeri
Conflicts: t/syntax.t
2009-01-17load rpc xml lib on the flyJoey Hess
This way, enabling the plugin via websetup is safe, it can't leave ikiwiki in a broken state.
2009-01-17Merge commit 'upstream/master' into prv/pointrigeri
Conflicts: IkiWiki/Plugin/editpage.pm IkiWiki/Plugin/skeleton.pm.example doc/plugins/write.mdwn t/syntax.t
2009-01-16blogspam: New plugin, adding spam filtering for page editing / comment ↵Joey Hess
posting using the BlogSpam.net API.
2009-01-15po.t: fix test suiteintrigeri
(translatable files now have to exist in srcdir) ) Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-13Merge commit 'upstream/master' into prv/pointrigeri
2009-01-03yesno: Always accept English even when localised.Joey Hess
It seems to be a failing of i18n in unix that the translation stops at the commands and the parameters to them, and ikiwiki is no exception with its currently untranslated directives. So the little bit that's translated sticks out like a sore thumb. It also breaks building of wikis if a different locale happens to be set. I suppose the best thing to do is either give up on the localisation of this part completly, or make it recognise English in addition to the locale. I've tenatively chosen the latter. (Also accept 1 and 0 as input.)
2009-01-01Merge commit 'upstream/master' into prv/pointrigeri
2008-12-30renamed the renamepage hook to renamelink, added rename hookintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-30po.t: adapted a few tests to match the current ikiwiki behaviourintrigeri
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-30Merge commit 'upstream/master' into prv/pointrigeri
Conflicts: debian/control debian/copyright doc/ikiwiki/pagespec.mdwn Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-23remove globlist supportJoey Hess
No transition code implemented, but I will probably make a 2.x release that warns about found globlists.
2008-12-23fix to use prefix directivesJoey Hess