Commit Graph

421 Commits (56f8223f9594ae687099dada0c138d669a6f931f)

Author SHA1 Message Date
Amitai Schlair 137ed653ea Merge branch 'master' into fancypodcast
Conflicts:
	doc/todo/fancypodcast.mdwn
2013-03-17 15:01:13 -04:00
Simon McVittie 766a2c7ab1 permalink test: start by deleting t/tmp
Otherwise, tests that don't end by deleting t/tmp (which is a useful
change when debugging a failing test) would cause this one to fail.
2013-02-24 13:18:34 +00:00
Simon McVittie 2bdb0c5902 map test: clean up after ourselves 2013-02-24 13:16:13 +00:00
Simon McVittie 12ca01fd5c map test: print maps' source as comments 2013-02-24 13:10:24 +00:00
Simon McVittie 82537ecf19 extend test, some cases now fail 2013-02-24 13:10:24 +00:00
Simon McVittie 54a48e15d8 Add a test for the map directive 2013-02-24 13:10:24 +00:00
Amitai Schlair 2df57e9906 Un-copy-paste the fancy-podcast tests. 2013-02-21 23:12:15 -05:00
Amitai Schlair d77ee60b15 Render fancy podcast enclosures.
Simple podcast feeds didn't have content tags and I made sure to
keep it that way. This may be unnecessarily conservative. Changing
the behavior to include empty content tags might be fine, but I
don't want to think about it right now, I just want my tests to
keep passing!

The new fancy-podcast tests are copy-pasted-edited from the
simple-podcast tests. These tests shall be refactored.
2013-02-20 21:16:19 -05:00
Amitai Schlair 3d2be49420 Make enclosures absolute (in feeds they have to be). 2013-02-20 19:14:20 -05:00
Amitai Schlair a7a68417d0 When inlining HTML pages, render enclosures. 2013-02-19 20:22:47 -05:00
Amitai Schlair d27c587ec9 Let tests determine whether feeds get made. 2013-02-19 20:22:47 -05:00
Amitai Schlair c3b17740ae Document that last enclosure wins. 2013-02-19 20:22:47 -05:00
Amitai Schlair 0e278c4a84 Make enclosure follow WikiLink LinkingRules. 2013-02-19 20:22:46 -05:00
Amitai Schlair 45d58983d2 Rename some posts and fix wrong assumptions. 2013-02-19 20:22:46 -05:00
Amitai Schlair 546da9bac7 Make [[!meta enclosure=foo.mp3]] "work" for HTML. 2013-02-19 20:22:46 -05:00
Amitai Schlair 86df150fb0 Document that podcasts are text XOR enclosure. 2013-02-19 20:22:46 -05:00
Amitai Schlair 10b6cb6ee5 Wrap a long line. 2013-02-19 20:22:46 -05:00
Amitai Schlair c9c00b7c25 Add tests for existing podcast behavior. 2013-02-19 20:22:45 -05:00
Amitai Schlair a5fb27acb8 Bump test count for previous. 2013-02-02 14:19:50 -05:00
Amitai Schlair 91b477c087 Fix diffurl links (cvsweb expects unescaped '/'). 2013-02-02 14:11:15 -05:00
Amitai Schlair b30cacdf8d Fix longstanding bug (chdir to nonexistent dirs).
In test, set up the post-commit hook for more realism (and bugs!).
To make wrappers work in test, set PERL5LIB, and allow the wrappee's
path to be overridden. Meta-test that post-commit is really hooked
up by verifying that content is getting generated in destdir.

About the longstanding bug, which as far as I know was harmless:
CVS can't operate outside a srcdir, so we're always setting $CWD.
"local $CWD" restores the previous value when we go out of scope.
Usually that's correct. But if we're removing the last file from a
directory, the post-commit hook will exec in a working directory
that's about to not exist (CVS will prune it).

The fix: chdir() manually in cvs_runcvs(), so we can selectively
not chdir() back.
2013-01-27 22:09:57 -05:00
Amitai Schlair 64370885cc Merge branch 'master' into cvs 2013-01-25 08:47:17 -05:00
Simon McVittie 7b06a65221 If the title of a trail or trail-member changes, rebuild affected pages
If the title of a trail changes, each member of that trail must be
rebuilt, for its prev/up/next box to reflect the new title.

If the title of a member changes, its next and previous items (if any)
must be rebuilt, for their prev/up/next boxes to reflect the new title.
2013-01-02 19:19:32 +00:00
Simon McVittie 94a5130963 Add more trail regression tests
Some of these untested bits have in fact regressed, and as such, are
marked as TODO.
2013-01-02 19:19:32 +00:00
Joey Hess b485dbd891 avoid syntax checking cvs, since it needs File::Chdir, which
is not a build dep
2012-04-27 13:59:36 -04:00
Joey Hess fc5c938b19 Merge remote-tracking branch 'smcv/ready/literal-pagenames' 2012-04-08 16:02:03 -04:00
Simon McVittie 5674e7fc12 prune: do not prune beyond an optional base directory, and add a test
Previously, prune("wiki/srcdir/sandbox/test.mdwn") could delete srcdir
or even wiki, if they happened to be empty. This is rarely what you
want: there's usually some base directory (destdir, srcdir, transientdir
or another subdirectory of wikistatedir) beyond which you do not want to
delete.
2012-04-07 17:52:29 +01:00
Simon McVittie 258ee1bc3b trail, inline: treat pagenames as a list of literal names, not links 2012-04-06 17:05:26 +01:00
Joey Hess 2ad42bef5f add some seatbelts to toad's jalopy
This does not change the number of failing tests I see, but it does
make it show the expected result, which makes analysis easier.
2012-04-04 20:23:01 -04:00
Simon McVittie c7bc11f26f Use utime to make initial files in trail test come from the past
This ensures that when we do the second phase of the test (edit some
files and refresh), the changes get a different mtime and are picked up,
even if the entire test happened between two 1-second "clock ticks".
2012-03-19 09:49:31 +00:00
Simon McVittie 63bb8b42f7 Replace [[!trailinline]] directive with [[!inline trail=yes]] 2012-03-18 17:11:05 +00:00
Simon McVittie 4e54fa1144 tagging version 3.20120202
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIVAwUATytJp8kQ2SIlEuPHAQgKeg/+MPL9KcL13f1DQUwu9TXEr7hSocn3NTa/
 LMvLJvrzqI5BGRP+jBGFG/Kn9yFt6S4gdCvpOwi1INxAanLQnaVoSLoie1teUbU3
 dxi8f3wGMBtEX+BiOi9gbjxF2v98D+Fh73O9H7newsEJiRDRor7U4EE1dWC8uidc
 d/9vhWkaDy1BlEahaU85v7RY94h5EnEzgD0Rm7wkSSr1aquQsr89OijC6SY0dEJe
 b6AunkRqsOGDrm6elSRFi6E5eStPhIu2t6GmyhpulWn5vr4PyqdWZ7jcWvDGYr+r
 v2iuses1fH8qWE1CQ6Y2XadK7Cj2IbGhaiLXp3TdbPgKnB7BS89cSWRKQ5SlvTlJ
 sUUPauhLDMqp1Cux6oUgs5T9ADTO922p1FzR3JuTkgwNLWH7UXTRuwVvtPz4aKqN
 QBmQeknTTQAxqi+DhgBK+CXM7LIt3d2TaoUFt6gl4kKt3FYzGfyh9ohhDSQniAa8
 C52InJ2X5bamz8/fIcELChg+wBT+naQrDW7V74kFKvWzIwnqfvseaF3zVqDgYLQy
 e12vL6GAdnO66VhzULU1NyH/XNvfyKEpwiKHPwCEK5wPTLweWBqjU0952GDBlUov
 PDDoQgwijnSCSxJOcEsAnnpkT16pw0VWHTSLrqkYYZBg7WGkZbhwk4cRVkqcsMK7
 JjKUdA9rK0E=
 =KLr6
 -----END PGP SIGNATURE-----

Merge tag '3.20120202' into trail3-integrated
2012-03-18 15:31:41 +00:00
Amitai Schlair 37bf6114d5 Notes. 2012-02-05 16:35:29 -05:00
Amitai Schlair e45175d545 More testings and fixings:
* Test that adding a text file under a name formerly tracked as
  binary (and vice versa) gets the right keyword-substitution
  behavior.
* Explicitly set -kkv for text files to make the tests pass.
* CVS warns in these cases about "changing keyword expansion mode",
  but this is correct behavior, so filter it from stderr. Filter
  stdout the same way in case we ever want to keep any of it.
* In rcs_add(), replace comments with obviousness.
2012-02-05 16:33:49 -05:00
Amitai Schlair 414ccfb1e2 Remember to run all the tests before committing! 2012-02-05 03:33:20 -05:00
Amitai Schlair 4e7b7a1788 Test checkconfig(). 2012-02-05 03:29:14 -05:00
Amitai Schlair 4b596ea5c6 Test RCS Id keyword expansion on typical commit. 2012-02-05 01:34:58 -05:00
Amitai Schlair 0a05ac9205 Notes from an evening's debugging. 2012-02-05 01:24:09 -05:00
Amitai Schlair 6753235d98 Write rcs_diff() tests according to the API spec, then make them pass. 2012-02-05 01:20:52 -05:00
Amitai Schlair a65512ad18 Update test plan, missed in previous. 2012-02-01 22:08:21 -05:00
Amitai Schlair fc316b9da1 Express rcs_recentchanges() tests via utility functions, in preparation
for writing more thorough tests, in order to safely extract the
cvsps output-parsing routine for reuse by an upcoming rcs_revert().
2012-02-01 15:17:57 -05:00
Amitai Schlair b0d97cd20e Fail a test if an rcs_receive() hook is ever defined for CVS. 2012-02-01 11:04:37 -05:00
Amitai Schlair 1d176f23d2 Extract add_and_commit(), a common test action. 2012-02-01 11:04:15 -05:00
Amitai Schlair ac8eab29e8 Uncomment the CVS keyword substitution mode tests, and make them pass:
Extract cvs_keyword_subst_args() and ensure it runs in $config{srcdir}.
Using Perl's -T operator appears to work equally well, perhaps switch?
2012-01-26 16:57:00 -05:00
Amitai Schlair 1b73015251 Move tests that simulate web commits into test_rcs_add(), then add
a bunch more tests (that wind up exercising rcs_commit(),
rcs_commit_staged(), and rcs_recentchanges()). Extract some support
routines for brevity. Most is_in_keyword_substitution_mode() tests
are commented out because there's a bug -- non-binary files are
being added with "cvs add -kb".

Move tests that inspect recentchanges after direct CVS operations
into test_rcs_recentchanges().
2012-01-24 05:58:41 -05:00
Amitai Schlair ad0e56cdca Define required programs and modules at top for easy spotting. 2012-01-22 11:07:58 -05:00
Amitai Schlair 8e99750545 No functional change: sort sub definitions.
In the code:
* general plugin API calls (in plugins/write order),
* VCS plugin API calls (in plugins/write order), then
* internal support routines (in alphabetical order).

In the tests:
* general meta-behavior (in no particular order, yet),
* general plugin API calls (in plugins/write order),
* VCS plugin API calls (in plugins/write order), then
* internal support routines (in semi-logical order).
2012-01-22 10:44:50 -05:00
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