Commit Graph

474 Commits (d2975aeb96e08abaac30595fb304dc600bbe2f08)

Author SHA1 Message Date
Amitai Schlair ea04eb4102 Test::Class runs test subs in alphabetical order, so we do too. 2012-01-22 10:44:50 -05:00
Amitai Schlair 88b08b5835 Ape xUnit more closely to remove ordering constraints on test subs:
* Add setup and teardown methods, called before and after every test sub.
* In setup, make a fresh repo; in teardown, throw it out.
* Extract runtests method and define default test methods at top.
* Move reflection routines near the xUnit-style subs they support.

Adapt existing test subs to run independently:
* In test_manual_add_and_commit(), assume a fresh repo.

While here, plan a bit better:
* Check for all modules used by cvs.pm.
* Check for program existence more generally.
* Check that we can rmdir after mkdir.
2012-01-22 10:44:50 -05:00
Amitai Schlair 1ea4949257 Describe the needed test cases, and implement a couple Test::Class features.
* Run all subs matching /^test_*/ (for which we can plan)...
* Unless TEST_METHOD is set, in which case run matching subs (sans plan).
* Define total number of tests very near 'use Test::More', where expected.
* Define test tempdir where it's declared, no longer any reason why not.
* Move most comments from TODO.cvs into t/cvs.t.
* Add a whole bunch more comments describing the needed test cases.

XXX existing tests are order-dependent, but currently happen to pass
2012-01-22 10:44:49 -05:00
Amitai Schlair 3497f49f35 Fix regression: failing to make the temp dir should nix the test plan.
While here, nitpick style and wrap long lines.
2012-01-22 10:44:49 -05:00
Amitai Schlair 0b7d5aeeb6 Use config parameters directly and shorten long lines. 2012-01-22 10:44:49 -05:00
Amitai Schlair d760df3821 * Define expected number of tests near the top.
* Call readfile() directly from writefile().
* Parameterize commit message for the web-commit case.
* Describe intent of test cases.
* Rename test subs to match what they actually do.
* To prove extra path slashes don't cause trouble, instead of running
  the same tests a second time, just assert that checkconfig()
  strips the slashes.
2012-01-22 10:44:49 -05:00
Amitai Schlair b77da0bb3b Fix a typo in the web commit test. 2012-01-22 10:44:49 -05:00
Amitai Schlair f18160b95d Simplify startup: use Test::More unconditionally, then determine
the test plan at runtime. Use IkiWiki unconditionally too (as that's
not what I'm testing here) to avoid the TAP error of printing a
test result before having printed the plan.
2012-01-22 10:44:49 -05:00
Amitai Schlair f98c4c5b72 Extract subs: startup/shutdown, and tests for web and manual commits.
No functional change intended.
2012-01-22 10:44:49 -05:00
Joey Hess 37f7f125f9 fix test suite to work with discount
In the first test, discount returns the html attributes in a different
order, which broke the test. Test only for the important text, not the
exact html output.

In the second test, discount does some encoding of its own of the partially
encoded url, again resulting in different output.
2012-01-01 17:28:31 -04:00
Simon McVittie ea313b8133 Add path and path_natural sort orders
These correspond to title and title_natural, but compare the entire
path: a < a/b < a/z < ab < b.
(cherry picked from commit 903a5a314f)
2011-12-06 14:26:34 -04:00
Simon McVittie d70ba7cff3 Split trail directive into trailitems, trailoptions 2011-11-12 21:37:28 +00:00
Simon McVittie e0bfd0cafd trail: improve and test sorting 2011-11-12 16:57:54 +00:00
Simon McVittie 903a5a314f Add path and path_natural sort orders
These correspond to title and title_natural, but compare the entire
path: a < a/b < a/z < ab < b.
2011-11-12 16:02:20 +00:00
Simon McVittie 156f709122 trail: new plugin (3rd attempt) 2011-11-09 22:49:37 +00:00
Simon McVittie bc6bef9c56 Add a trivial test for the rst plugin
Signed-off-by: Simon McVittie <smcv@debian.org>
2011-10-22 19:46:42 +01:00
Joey Hess f774f20913 Fix comments testsuite to not rely on Date::Parse's ability to parse the date Columbus discovered America. Closes: #640350
This is such a pity. smcv had these great dates, but squeeze's Date::Parse
cannot parse them.

Oh well, at least it makes for a great bug closure title.
2011-09-05 13:17:36 -04:00
Simon McVittie 94268a46cd comments: add regression test for sorting by date 2011-06-04 16:55:24 +01:00
Joey Hess 70e7bee1a0 Merge remote-tracking branch 'intrigeri/po-long-language-codes' 2011-06-03 12:32:37 -04:00
Joey Hess dac4f405b2 the underlying perl bug that this test case checks a workaround for has now been fixed
hurrah! Thanks especially to Niko Tyni for tracking it down in the perl
internals.
2011-05-31 16:21:58 -04:00
intrigeri 3cd0c1f91a po: support language codes in the form of 'es_AR', and 'arn'.
... additionally to the previously supported two-letters codes.
2011-05-26 09:39:50 +02:00
Timo Paulssen 8e120bf718 added test cases for heredoc and triple-single. 2011-05-13 11:24:16 -04:00
Timo Paulssen 505439cc0a simple tests for heredoc. 2011-05-13 11:24:16 -04:00
Ludwig Nussel 9ef5139918 get rid of diag explain again 2011-03-04 11:23:10 -04:00
Joey Hess 9d548239a9 turn off verbose
Want to avoid debug messages during tests
2011-02-09 14:11:29 -04:00
Joey Hess a68c191f9f fix test count 2011-02-09 14:11:14 -04:00
Joey Hess 8e8311718a Merge remote branch 'smcv/ready/transient-tag'
Conflicts:
	t/tag.t
2011-02-09 14:11:06 -04:00
Joey Hess b522d8cdda Merge remote branch 'smcv/ready/transient-autoindex' 2011-02-09 14:00:59 -04:00
Joey Hess db9f2b1b2b Merge remote branch 'smcv/ready/tag-test' 2011-02-09 13:47:39 -04:00
Joey Hess b4d2910dda clean up t/tmp 2011-01-24 19:58:51 -04:00
Joey Hess 6e96b5921a remove more test diag stuff that needs a newer Test::More than debian stable's 2011-01-24 17:23:58 -04:00
Simon McVittie 5a73ed82cf autoindex test: write autoindex pages into the transient underlay 2011-01-22 22:39:45 +00:00
Simon McVittie 059259ecd1 Allow autoindex files to be written into the transient underlay
As with the tag plugin, for the moment keep the old behaviour in the test.
2011-01-22 22:36:41 +00:00
Simon McVittie 8ee9eabb1c autoindex: stop tracking deletions, use generic autofile tracking instead
- Migrate the set of deletions to the {autofile} set, since it has
  more or less the same effect. This affects the "deleted" case in the
  test.
- If a page has just been deleted, add it as an autofile anyway: by
  the time gen_autofile is called, it'll be in the list of deleted files,
  so it'll just be added to {autofile}. This affects the "gone" case
  in the test.
- Behaviour change: we don't forget that a page with no reason to be
  re-created was deleted. This affects the 'expunged' and 'reinstated'
  cases in the test.
2011-01-22 22:28:50 +00:00
Simon McVittie db029393f6 autoindex.t: check that none of the files that shouldn't be generated are autofiles 2011-01-22 22:27:04 +00:00
Simon McVittie dca6679a54 autoindex: use add_autofile
This does cause a minor regression: index pages are now committed
individually rather than being a single commit per rebuild.

This also means the autoindex regression test needs to trigger the
autofile generation pass.
2011-01-22 22:25:48 +00:00
Simon McVittie 0118479c9a autoindex.t: check that attachments cause indexing 2011-01-22 22:23:50 +00:00
Simon McVittie e15e6cce6c autoindex test: check that an internal page doesn't cause indexing 2011-01-22 22:22:48 +00:00
Joey Hess 0e224058e7 Adapt autoindex test suite to work with old Test::More. 2011-01-22 11:00:57 -04:00
Simon McVittie f695bdd843 tag test: write tag pages into the transient underlay 2011-01-07 20:11:19 +00:00
Simon McVittie 2a60cda172 tag: optionally write autocreated tags to the transient underlay
For the moment, have the tag test keep the old behaviour.
2011-01-07 20:09:52 +00:00
Simon McVittie eeb0ec1862 tag test: assert that the only autofiles are the ones we want 2010-12-28 13:41:59 +00:00
Simon McVittie be6ca4c4e9 po test: add more cases, including (semi-)absolute URLs
Three cases are sub-optimal, but having fixed urlto(''), they all
basically work.
2010-12-25 22:54:54 +00:00
Simon McVittie f328a2eab2 po: test beautify_urlpath with po_link_to=current
Same behaviour as 'default'.
2010-12-25 22:54:54 +00:00
Simon McVittie fbb354d70e urlto.t: test urlto('', undef, ?) 2010-12-25 22:54:54 +00:00
Simon McVittie 524a78eaca urlto.t: test more cases, including the special case for to='' 2010-12-25 22:54:54 +00:00
Simon McVittie 44cc8ca420 Add a test for autoindex's current functionality 2010-12-25 22:54:54 +00:00
Simon McVittie 4ca0eb2743 extend the 'tag' test to cover auto-creation of tag pages 2010-12-25 22:54:54 +00:00
Joey Hess 340ac56729 test w/o second parameter 2010-11-29 15:01:35 -04:00
Simon McVittie 70bdd57899 Add a regression test for urlto, baseurl and cgiurl in relative/local/absolute modes 2010-11-22 23:47:05 +00:00
Joey Hess fcf0ee574a add test case for RSS url munging 2010-11-16 16:48:42 -04:00
Joey Hess 2df92a956a Fix test suite failure on other side of date line. 2010-09-29 11:58:45 -04:00
Joey Hess 78e89acf37 update test 2010-09-15 15:38:06 -04:00
Joey Hess 82f9be0960 add test case for link(.) with omitted location 2010-08-30 15:27:06 -04:00
Joey Hess 2ec5efcd6c t/bazaar.t: Work around bzr 2.2.0's new requirement to configure bzr whoami before committing. 2010-08-30 15:23:22 -04:00
Joey Hess 931036eb5c Merge remote branch 'intrigeri/po' 2010-08-30 14:47:57 -04:00
Joey Hess 7d1cc3a020 add test for link(.) 2010-08-30 13:35:50 -04:00
intrigeri e85c15e75b Merge remote branch 'upstream/master' into prv/po 2010-08-22 11:09:37 +02:00
intrigeri 474b6524e0 Merge remote branch 'upstream/master' into prv/po 2010-08-22 11:05:03 +02:00
Joey Hess 7d29ba2fc7 add htmlscrubber colon in url cases to test suite 2010-08-19 14:04:55 -04:00
Joey Hess 5664401fbc Fix po test suite to not assume ikiwiki's underlay is already installed. Closes: #593047 2010-08-15 11:38:39 -04:00
intrigeri 38460076e1 po.t: added a bunch of tests for recent code changes 2010-08-02 15:11:44 +02:00
Joey Hess 52f09a63a1 Merge remote branch 'intrigeri/po' 2010-07-24 05:22:33 -04:00
Joey Hess 855fad15e5 whitespace 2010-07-23 14:30:15 -04:00
intrigeri d98296d1db po.t: fix expected results
As index.{es,fr} don't exist, po::refreshpofiles copies them from the basewiki
underlay before running msgmerge. msgmerge marks as obsolete the translation
strings that came from the basewiki po files, but the link plugin
does not make the difference between obsolete and up-to-date links.

$links{'index.fr'} and $links{'index.es'} are therefore expected to contain
SandBox and ikiwiki.
2010-07-20 13:41:53 +02:00
intrigeri c66fae8b16 Added tests for po::pofiles. 2010-07-20 13:39:47 +02:00
intrigeri 38014f0cad Run checkconfig after loading the po plugin, else state is not populated.
The pofiles function relies on @slavelanguages to have been populated by po's
checkconfig hook.
2010-07-20 13:27:17 +02:00
Joey Hess 1dbb2632ef another class of conflicts: subdir/file conflicts 2010-07-18 17:16:39 -04:00
Joey Hess d6cb4436bd 2 more cases 2010-07-18 16:45:44 -04:00
Joey Hess 773db5a35e avoid error if two source files render the same destination file
There are two sub-caces. If both source files still exist, the winner that
renders the destination file is undefined. If one source file is deleted
and the other added, in a refresh, the new file will take over the
destination file.
2010-07-18 16:28:39 -04:00
Joey Hess a291f24be6 some other (similar) failure cases 2010-07-18 13:50:06 -04:00
Joey Hess bfa4660df7 update 2010-07-17 13:30:08 -04:00
Joey Hess 4142308429 turning into complete source file conflict test suite 2010-07-17 13:24:40 -04:00
Joey Hess fd842e03e6 add 2 failing test cases 2010-07-16 16:11:24 -04:00
Joey Hess 936dc6fc8e add test of file replace 2010-07-16 16:07:51 -04:00
Joey Hess 1f6ea9a626 clean up messages about unavailable vcs programs 2010-06-25 00:30:12 -04:00
Joey Hess ecdfd1b864 rcs_commit and rcs_commit_staged api changes
Using named parameters for these is overdue. Passing the session in a
parameter instead of passing username and IP separately will later allow
storing other session info, like username or part of the email.

Note that these functions are not part of the exported API,
and the prototype change will catch (most) skew, so I am not changing
API versions. Any third-party plugins that call them will need updated
though.
2010-06-23 19:04:36 -04:00
Joey Hess f8c2a67b3c pretty openid login
* openid: Incorporated a fancy openid-selector signin form.
  (http://code.google.com/p/openid-selector/)
* openid: Use "openid_identifier" as the form field, as required
  by OpenID Authentication v2.0 spec.
2010-05-07 20:14:25 -04:00
Joey Hess 81948abda7 remove bogus test for empty page 2010-05-05 22:47:37 -04:00
Joey Hess 57405061f4 add test 2010-05-05 22:12:31 -04:00
Joey Hess 9257381e8d fix test count 2010-05-05 18:32:48 -04:00
Joey Hess 34afaf1015 add test suite for find_src_files 2010-05-04 23:20:47 -04:00
Joey Hess a6d38b7f26 update test suite for recent index load on rebuild changes 2010-04-26 19:01:31 -04:00
Joey Hess 3ac2ae1f14 Add page() PageSpec, which is like glob() but matches only pages, not other files. 2010-04-26 18:47:17 -04:00
Joey Hess 9b112cc986 add test case to ensure all templates are documented 2010-04-23 17:23:31 -04:00
Joey Hess ef34ea7c05 fix test cases for dynamic influence calculation 2010-04-22 00:07:25 -04:00
Joey Hess c98414e192 added a test case for this bug
Further analysis suggests fixing this might not be as dreadful as I first
thought!
2010-04-21 23:08:54 -04:00
Joey Hess 13325317a3 backlink influence data seems ok 2010-04-21 22:04:03 -04:00
Joey Hess cff3937b68 remove 2 argument form of file_pruned 2010-04-20 14:08:29 -04:00
Joey Hess a97964688b unfinished file_prune revamp
Many calls to file_prune were incorrectly calling it with 2 parameters.
In cases where the filename being checked is relative to the srcdir,
that is not needed.

Made absolute filenames be pruned. (This won't work for the 2 parameter call
style.)
2010-04-17 19:05:40 -04:00
Jelmer Vernooij 9ff5174f11 Fix get_ctime implementation in Bazaar plugin, add get_mtime implementation. 2010-04-17 13:52:16 -04:00
Joey Hess f5da8d3aed more tests with more items 2010-04-12 15:16:57 -04:00
Joey Hess 0bfc364a7d optimization: pagespec_match_list with no num limit matches before sorting
This can be a lot faster, since huge numbers of pages are not sorted
only to mostly be thrown away. It sped up a build of my blog by at least
5 minutes.
2010-04-11 01:30:03 -04:00
Joey Hess 1004e6c739 fix testsuite
typedlink matchspec was removed
2010-04-10 14:40:03 -04:00
Joey Hess bab8fec524 Merge remote branch 'smcv/ready/sort-package'
Conflicts:
	debian/NEWS
2010-04-06 23:15:33 -04:00
Simon McVittie cb8b2f80b2 Use $a and $b for SortSpec cmp callbacks 2010-04-05 22:50:51 +01:00
Simon McVittie d7e32dc98d Add a unit test for changed-link calculation 2010-04-04 01:20:02 +01:00
Simon McVittie ef63441440 Remove tagged_is_strict option, and just behave as though it was enabled
Jon was worried about the backwards-compatibility break involved in making
tagged() not match non-tag links, but Joey seems less concerned about it.
2010-04-04 00:43:58 +01:00
Simon McVittie c1a42e76bc implement typed links; add tagged_is_strict config option 2010-04-04 00:43:48 +01:00
Simon McVittie 04a59b3c65 Move sort hooks to the IkiWiki::SortSpec namespace
Also rename cmpspec_translate (internal function) to sortspec_translate
for consistency.
2010-04-03 14:28:21 +01:00
Joey Hess 0d524ad672 Fix incorrect influence info returned by a failing link() pagespec, that could lead to bad dependency handling in certian situations. 2010-03-26 01:38:53 -04:00
Simon McVittie b86276ffed Reimplement extensible sorting mechanisms, in the same way as pagespecs 2010-03-25 23:31:53 +00:00
Simon McVittie 60edd2dc31 Allow sorting to be combined and/or reversed 2010-03-24 23:51:48 +00:00
Simon McVittie e67a9382f6 Allow hooks to add sorting functions to pagespec_match_list 2010-03-24 00:29:10 +00:00
Joey Hess 87a36bbb46 update 2010-03-14 15:22:45 -04:00
Joey Hess c0ad4929de Improve openid url munging; do not display anchors and cgi parameters, as used by yahoo and google urls. 2010-03-13 20:10:50 -05:00
Joey Hess b3c3c42b26 Loosen regexp, to allow empty quoted parameters in directives. 2010-02-26 11:49:51 -05:00
Joey Hess 6f3641f16c add some openid matching tests 2010-02-11 22:42:24 -05:00
Joey Hess c923e0ba33 Allow globs to be used in user() pagespecs. 2010-02-11 20:39:10 -05:00
Joey Hess 01c0f533de fix test suite after bestlink change 2009-11-30 18:05:47 -05:00
Joey Hess 96729cafc3 override LC_ALL, not LANG 2009-10-15 14:26:06 -04:00
Joey Hess 7ba4fa760a build wiki in C locale, to ensure that the "no broken links" message is not translated 2009-10-14 13:19:44 -04:00
Joey Hess 57a135c92a abort test if cvs prereq perl modules are not available 2009-10-14 13:15:12 -04:00
Joey Hess c916dcd035 fix some broken influence blocking testing, add more tests 2009-10-13 14:58:22 -04:00
Joey Hess 2f5beb59bf tests for influence blocking 2009-10-13 14:46:38 -04:00
Joey Hess 139085b3f2 add some TODO tests for influence blocking 2009-10-11 23:53:21 -04:00
Joey Hess 51d8899515 influences returns hash ref now 2009-10-11 19:13:40 -04:00
Joey Hess 04d0a72c09 typo 2009-10-11 19:05:37 -04:00
Joey Hess 5dba91cdc8 typo 2009-10-11 13:51:23 -04:00
Joey Hess ba00fb319c update 2009-10-09 21:23:39 -04:00
Joey Hess 6d6fff8d87 added tests of SuccessReason/FailReason objects 2009-10-09 21:12:14 -04:00
Joey Hess 9eb229bfc7 move influence tests to pagespec_match_list.t 2009-10-09 14:05:22 -04:00
Joey Hess b7351daacd conditional: use yesno 2009-10-09 12:54:35 -04:00
Joey Hess 34b2132355 fix test to use new calling convention
This test still fails several cases, since add_depends influence testing is
currently commented out.
2009-10-09 00:06:58 -04:00
Joey Hess 5e7b2dea84 rename use_pagespec to pagespec_match_list
To avoid breaking plugins, also support the old pagespec_match_list
calling convention, with a deprecation warning.
2009-10-08 23:51:06 -04:00
Joey Hess 955bcea2a7 fix test broken by change to failing link() influence 2009-10-08 23:48:08 -04:00
Joey Hess d5f0144495 use_pagespec: do not fail with error when unable to match, unless it fails
with an ErrorReason
2009-10-08 18:47:48 -04:00
Joey Hess 5e236f5d25 add use_pagespec and deptype functions 2009-10-08 17:53:20 -04:00
Joey Hess 5f9860e65c add type info to influence information 2009-10-07 21:52:37 -04:00
Joey Hess bb389a5ae2 convert add_depends to use influences
No more horrible special-case pagespec parsing.

OTOH, matching over all pages to determine influences is a lot of work.
2009-10-07 21:17:57 -04:00
Joey Hess 54fb82a5a4 more influences tests 2009-10-07 20:35:26 -04:00
Joey Hess 4002d7c1a4 add influence info to match_*
Also update docs, test suite.
2009-10-07 20:31:13 -04:00
Joey Hess c72fda7d69 make success and failreason objects carry an influences hash
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-07 19:59:26 -04:00
Joey Hess 7a8b492bcc add_depends should default to content dependencies if unknown type specified 2009-10-06 19:07:52 -04:00
Joey Hess 62cc2afcaa update to test backlinks() pagespecs 2009-10-06 18:44:34 -04:00
Joey Hess 36c605cada add test suite for add_depends
and found a bug in my bitmath..
2009-10-04 23:27:00 -04:00
Joey Hess b94c1ccd55 fix CVS prune test
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-13 19:40:42 -04:00
Joey Hess e22af796e5 skip if cvsps is not available 2009-09-10 16:49:54 -04:00
Amitai Schlair 98553d1537 CVS operations generally need to be within CVS checkouts, so these chdir()
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-10 00:51:34 -04:00
Amitai Schlair 12bbc6c919 Add automated tests, modeled after svn's. Note the chdir() calls;
perhaps cvs.pm should be doing pushd/popd in case the caller expects
its working directory to be left alone.
2009-09-09 23:09:26 -04:00
Amitai Schlair c36d2fa896 Merge branch 'master' of git://github.com/joeyh/ikiwiki 2009-08-30 03:02:15 -04:00
Simon McVittie 1ea8580a5f Remove now-unused function pagespec_merge
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-25 00:31:40 +01:00
Simon McVittie 7227c2debf Use a hash to de-duplicate dependencies 2009-08-25 00:31:16 +01:00
Simon McVittie fe4f176f72 Optimize the dependencies list
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-24 23:18:10 +01:00
Amitai Schlair 2b7a003794 Add my CVS plugin and related patches. 2009-08-13 16:56:26 -04:00
Joey Hess 68fa7b5f8c use underlay_install as optimisaton 2009-07-21 13:16:59 +02:00
Joey Hess ec965fc92c Merge branch 'master' into po
Conflicts:
	debian/changelog
2009-07-19 12:36:01 +02:00
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
intrigeri 86edd73d16 Merge commit 'upstream/master' into pub/po
Conflicts:

	debian/changelog
	debian/control

Signed-off-by: intrigeri <intrigeri@boum.org>
2009-06-06 14:03:40 +02: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 ef003f48f4 Merge branch 'master' into po
Conflicts:
	debian/changelog
2009-05-19 13:07:47 -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
intrigeri 4558457402 Merge commit 'upstream/master' into pub/po
Conflicts:

	debian/changelog
	debian/control
2009-04-20 12:21:18 +02: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
intrigeri ae474d8e14 Merge commit 'upstream/master' into prv/po
Conflicts:

	IkiWiki/Plugin/editpage.pm
	debian/control
	debian/copyright
	doc/todo/need_global_renamepage_hook.mdwn

Signed-off-by: intrigeri <intrigeri@boum.org>
2009-03-08 09:50:27 +01: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
intrigeri 03ab262319 revert renamepage's hook original name
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-27 00:00:00 +01:00
intrigeri e9e75f5f29 Merge commit 'upstream/master' into prv/po
Conflicts:

	t/syntax.t
2009-01-18 00:38:31 +01: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
intrigeri 832d4d31d1 Merge commit 'upstream/master' into prv/po
Conflicts:

	IkiWiki/Plugin/editpage.pm
	IkiWiki/Plugin/skeleton.pm.example
	doc/plugins/write.mdwn
	t/syntax.t
2009-01-17 14:01:53 +01: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
intrigeri 92b2efd393 po.t: fix test suite
(translatable files now have to exist in srcdir)
)
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-15 23:32:55 +01:00
intrigeri 82197bd0ea Merge commit 'upstream/master' into prv/po 2009-01-13 12:26:43 +01: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
intrigeri 5c2f6cb893 Merge commit 'upstream/master' into prv/po 2009-01-01 13:34:00 +01:00
intrigeri c01485ae1a renamed the renamepage hook to renamelink, added rename hook
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-30 21:36:40 +01:00
intrigeri 4e4fb18dbe po.t: adapted a few tests to match the current ikiwiki behaviour
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-30 18:55:32 +01:00
intrigeri 21add7ffa8 Merge commit 'upstream/master' into prv/po
Conflicts:

	debian/control
	debian/copyright
	doc/ikiwiki/pagespec.mdwn

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-30 18:24:36 +01: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
intrigeri c51202c11e po.t: cleanup
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-13 00:54:51 +01:00
intrigeri aed42eb34a po: fix istranslation/istranslatable for pages starting with /
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-12 17:29:12 +01:00
intrigeri 2b4e76a961 po: change a bit the way links are generated
This will soon enable usage of translated page titles in link.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11 22:29:47 +01:00
intrigeri f0abaa9fc9 po: fixed link to home page when po_link_to=negotiated, added testcase
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11 18:42:14 +01:00
intrigeri cfe101fff9 po: fixed link to homepage from non-translation page
Added testcases for this bug.
It remains broken when generated from <TMPL_VAR BASEURL>, though.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11 15:06:26 +01:00
intrigeri 45694a8623 t/po.t: removed debug lines
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 19:40:54 +01:00
intrigeri 812f775e0a Merge commit 'upstream/master' into prv/po 2008-11-10 15:41:29 +01: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
intrigeri a0ac346079 po: finished backlinks implementation
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-07 22:17:54 +01:00
intrigeri d1e5affbc2 po: oops, removed debug output from testsuit
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-07 21:39:55 +01:00
intrigeri 14415a2b67 po: implemented linking specification in testcase
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-07 21:24:00 +01:00
intrigeri 7d88fb3ff8 po plugin: added test cases for index.*
(Translatable index is currently buggy, let's fix this.)

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-02 18:54:04 +01:00
intrigeri 06e3558318 po plugin: added testsuite
I want to have an easy way to know if I break something when I'll convert custom
added hooks to the new "inject" feature. It will also be useful after this
conversion, to trigger an alert when IkiWiki's internals change enough to break
my wrapper functions.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-02 16:46:09 +01:00
intrigeri a021d97d30 syntax.t: skip po since it uses a perl module not in build deps
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 16:22:37 +02:00
Joey Hess 3ef2824350 add test for empty, and for entirely negated pagespecs 2008-09-30 15:06:12 -04:00