Commit Graph

151 Commits (78ab937dbf7d33b77076907539ed463ba4df1337)

Author SHA1 Message Date
Joey Hess 5418385336 Optimise use of gettext, and avoid ugly warnings if Locale::gettext is not 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-08 18:33:54 -04:00
Joey Hess 763f4b91da add test case for unterminated """ string
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-06-05 16:10:08 -04:00
Joey Hess fd7db49f94 Fix test suite to not rely on an installed copy of ikiwiki after underlaydir change. Closes: #530502 2009-05-25 12:40:40 -04:00
Joey Hess e92c6722dd stop using perl -T here
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-22 13:27:23 -04:00
Joey Hess bcf3f9091a add test case for multiline pagespec 2009-05-21 12:44:21 -04:00
Joey Hess 23a4ee6d15 Allow curly braces to be used in pagespecs
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-05-18 15:25:10 -04:00
Joey Hess 8a11983946 Fix git test suite to use a bare repo.
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-04-04 14:58:34 -04:00
Joey Hess 66dc253437 Add noextension parameter to htmlize hooks to support, eg, Makefile. 2009-02-19 18:38:45 -05:00
Joey Hess 9ecb0036a3 add keepextension tests 2009-02-19 18:31:57 -05:00
Joey Hess c1907ded87 fix pagename, pagetype tests
Put tests in right file.

Set internal variable to hash, the functions expect that.
2009-02-19 18:28:43 -05:00
Joey Hess 8c8b18935b fix pagetype test
File had wrong name, and made wrong assumption about what pagetype does for
bare files.
2009-02-19 18:23:40 -05:00
Joey Hess 3b83e52018 rename apache404 -> 404
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-31 19:26:36 -05:00
Simon McVittie 46b880f839 Split apache404 into an independent plugin
Also make it ignore the 'do' parameter at Joey's suggestion, to have one
less thing to remember when configuring.
2009-01-31 22:32:10 +00:00
Simon McVittie 8322b8c9c8 CGI: add cgi_page_from_404(), which remaps a path like $REDIRECT_URL to an IkiWiki page name
Also add a regression test
2009-01-31 18:07:42 +00:00
Joey Hess cd2ddb57a5 load rpc xml lib on the fly
This way, enabling the plugin via websetup is safe, it can't leave
ikiwiki in a broken state.
2009-01-17 14:56:48 -05:00
Joey Hess 7ee92cab40 blogspam: New plugin, adding spam filtering for page editing / comment posting using the BlogSpam.net API. 2009-01-16 22:39:11 -05:00
Joey Hess b0a03fef65 yesno: Always accept English even when localised.
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-03 12:52:47 -05:00
Joey Hess c07a95ed8e remove globlist support
No transition code implemented, but I will probably make a 2.x release that
warns about found globlists.
2008-12-23 17:11:04 -05:00
Joey Hess c61c99fc77 fix to use prefix directives 2008-12-23 16:56:56 -05:00
Joey Hess a4ebfe8fe8 fix to use prefix directives 2008-12-23 16:55:33 -05:00
Joey Hess 13d77c369e avoid an uninitialized value warning 2008-12-21 13:46:00 -05:00
Joey Hess 79d2d44db2 Merge commit 'smcv/openid' 2008-12-21 13:13:28 -05:00
Joey Hess 5b67c54b22 add another test 2008-12-21 12:59:11 -05:00
Simon McVittie f0c76aa51c Add a regression test for &openiduser 2008-12-21 16:37:20 +00:00
Simon McVittie c42f174e65 beautify_urlpath: add a regression test 2008-12-21 15:24:53 +00:00
Joey Hess 181bdbe1a9 use HTML::Entities 2008-11-17 14:27:11 -05:00
Joey Hess 43039d7d86 modify to skip tests if the neccessary perl modules are not available 2008-11-17 14:22:11 -05:00
Simon McVittie e7a840ed9a htmlbalance: new plugin that balances tags by parsing and re-serializing 2008-11-17 10:46:21 +00:00
Joey Hess 7f80e52543 Fix the link() pagespec to match links that are internally recorded as absolute.
This fixes a problem exposed by the recent change to tags
(a2839de936). That recorded tag links as
absolute by including a leading slash in the link. The same could also be
done with an absolute wikilink.

In either case, link() would not match such links, unless the leading slash
was included in the link to match. But that's not right, because pagespecs
match absolute by default. So strip the leading slash.

Note that to keep any existing `link(/foo)` pagespecs working after this
change, the leading slash is removed from there, too.
2008-11-09 15:31:57 -05:00
Joey Hess 3ef2824350 add test for empty, and for entirely negated pagespecs 2008-09-30 15:06:12 -04:00
Joey Hess 9ec9d6901d Export pagetitle, titlepage, linkpage. 2008-09-27 14:27:42 -04:00
Joey Hess dfe55e8956 Add keepextension parameter to htmlize hook. (Willu) 2008-09-23 13:39:21 -04:00
Joey Hess a7ff240afc test for brokenlinks when listdirectives is enabled, too 2008-09-11 19:06:44 -04:00
Joey Hess 2d43eda27d display broken links on failure 2008-09-11 18:56:28 -04:00
Joey Hess 210b9ba2f3 test skeleton.pm.example 2008-08-03 19:36:10 -04:00
Joey Hess 2faf1ec601 update rcs tests for new rcs plugin load method
As a side effect, since loadplugins is called, mdwn is loaded, so
rcs_recentchanges will return page names, not filenames, for mdwn files.
2008-08-01 16:45:05 -04:00
Joey Hess 6154dd03cb finish with rcs plugin conversion 2008-07-26 22:28:18 -04:00
Joey Hess 14cd75746a Version control backends promoted to first-class plugins 2008-07-26 22:27:24 -04:00
Joey Hess bb888daea0 add a test case 2008-07-26 22:10:09 -04:00
Joey Hess fdf3b7c4b8 add test data 2008-07-25 19:41:01 -04:00
Joey Hess 88e9ef449d add a regression test to ensure that permalinks never change 2008-07-25 19:40:28 -04:00
Joey Hess a69e3f26dd 2 was apparently correct
I don't think it really matters whether directories are returned or not.
2008-07-25 15:16:49 -04:00
Joey Hess ef1f4defed bring git test to parity with bazaar test
Also, fixed bug I introduced in bazaar test.
2008-07-25 15:08:17 -04:00
Joey Hess acf94414e3 expose a bug in bzr renameing code 2008-07-25 12:16:09 -04:00
Joey Hess 256a118e88 add missing --quiet 2008-07-25 12:07:48 -04:00
Joey Hess c401cf4f0c Merge commit 'jelmer/master' 2008-07-25 12:03:34 -04:00
Jelmer Vernooij 7538d356c8 Support staging commands in bzr backend. 2008-07-24 22:43:57 +02:00
Joey Hess c2f621cb1c fix encoding issues with link conversion
Have to convert link text to page name going in.
And on the way out, need to replace spaces with underscores in the link
text, which is not normally done with titles.
2008-07-24 12:36:10 -04:00
Joey Hess 8b3d2ab0bc test suite and partial fix for encoding issues in link renaming 2008-07-23 21:04:11 -04:00
Joey Hess 4918c164e8 preserve case of subpage 2008-07-23 19:03:37 -04:00